summaryrefslogtreecommitdiff
path: root/third_party
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2014-04-10 11:22:14 +0100
committerBen Murdoch <benm@google.com>2014-04-10 11:22:14 +0100
commitc5cede9ae108bb15f6b7a8aea21c7e1fefa2834c (patch)
treee9edd581ad60ab80aa5ab423a2a80df652a75792 /third_party
parent54cd42278ccf1d52996034848086a09b23065a40 (diff)
downloadchromium_org-c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c.tar.gz
Merge from Chromium at DEPS revision 262940
This commit was generated by merge_to_master.py. Change-Id: I9a3fddbb29857fa8f68a18c6a0115862b65f84d1
Diffstat (limited to 'third_party')
-rw-r--r--third_party/ashmem/ashmem.target.darwin-arm.mk8
-rw-r--r--third_party/ashmem/ashmem.target.darwin-mips.mk8
-rw-r--r--third_party/ashmem/ashmem.target.darwin-x86.mk8
-rw-r--r--third_party/ashmem/ashmem.target.darwin-x86_64.mk8
-rw-r--r--third_party/ashmem/ashmem.target.linux-arm.mk8
-rw-r--r--third_party/ashmem/ashmem.target.linux-mips.mk8
-rw-r--r--third_party/ashmem/ashmem.target.linux-x86.mk8
-rw-r--r--third_party/ashmem/ashmem.target.linux-x86_64.mk8
-rw-r--r--third_party/binutils/.gitignore5
-rw-r--r--third_party/binutils/Linux_ia32/binutils.tar.bz2.sha11
-rw-r--r--third_party/binutils/Linux_x64/binutils.tar.bz2.sha11
-rwxr-xr-xthird_party/binutils/download.py98
-rw-r--r--third_party/binutils/linux/.keepme0
-rwxr-xr-xthird_party/binutils/upload.sh56
-rw-r--r--third_party/brotli/brotli.target.darwin-arm.mk9
-rw-r--r--third_party/brotli/brotli.target.darwin-mips.mk9
-rw-r--r--third_party/brotli/brotli.target.darwin-x86.mk9
-rw-r--r--third_party/brotli/brotli.target.darwin-x86_64.mk9
-rw-r--r--third_party/brotli/brotli.target.linux-arm.mk9
-rw-r--r--third_party/brotli/brotli.target.linux-mips.mk9
-rw-r--r--third_party/brotli/brotli.target.linux-x86.mk9
-rw-r--r--third_party/brotli/brotli.target.linux-x86_64.mk9
-rw-r--r--third_party/expat/expat.target.darwin-arm.mk8
-rw-r--r--third_party/expat/expat.target.darwin-mips.mk8
-rw-r--r--third_party/expat/expat.target.darwin-x86.mk8
-rw-r--r--third_party/expat/expat.target.darwin-x86_64.mk8
-rw-r--r--third_party/expat/expat.target.linux-arm.mk8
-rw-r--r--third_party/expat/expat.target.linux-mips.mk8
-rw-r--r--third_party/expat/expat.target.linux-x86.mk8
-rw-r--r--third_party/expat/expat.target.linux-x86_64.mk8
-rw-r--r--third_party/freetype2/BUILD.gn70
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-arm.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-mips.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86_64.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.linux-arm.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.linux-mips.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86.mk11
-rw-r--r--third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86_64.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.darwin-arm.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.darwin-mips.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.darwin-x86.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.darwin-x86_64.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.linux-arm.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.linux-mips.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.linux-x86.mk11
-rw-r--r--third_party/iccjpeg/iccjpeg.target.linux-x86_64.mk11
-rw-r--r--third_party/khronos/khronos_headers.target.darwin-arm.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.darwin-mips.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.darwin-x86.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.darwin-x86_64.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.linux-arm.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.linux-mips.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.linux-x86.mk8
-rw-r--r--third_party/khronos/khronos_headers.target.linux-x86_64.mk8
-rw-r--r--third_party/leveldatabase/env_chromium_unittest.cc3
-rw-r--r--third_party/leveldatabase/leveldatabase.target.darwin-arm.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.darwin-mips.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.darwin-x86.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.darwin-x86_64.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.linux-arm.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.linux-mips.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.linux-x86.mk9
-rw-r--r--third_party/leveldatabase/leveldatabase.target.linux-x86_64.mk9
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_am.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ar.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bg.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bn.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ca.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_cs.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_da.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_de.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_el.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_en-GB.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es-419.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_et.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fa.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fi.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fil.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fr.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_gu.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hi.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hr.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hu.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_id.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_it.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_iw.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ja.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_kn.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ko.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lt.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lv.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ml.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_mr.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ms.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_nl.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_no.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pl.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-BR.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-PT.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ro.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ru.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sk.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sl.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sr.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sv.xtb10
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sw.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ta.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_te.xtb23
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_th.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_tr.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_uk.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_vi.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-CN.xtb2
-rw-r--r--third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-TW.xtb2
-rw-r--r--third_party/libevent/README.chromium2
-rw-r--r--third_party/libevent/chromium.patch65
-rw-r--r--third_party/libevent/event.c24
-rw-r--r--third_party/libevent/libevent.target.darwin-arm.mk9
-rw-r--r--third_party/libevent/libevent.target.darwin-mips.mk9
-rw-r--r--third_party/libevent/libevent.target.darwin-x86.mk9
-rw-r--r--third_party/libevent/libevent.target.darwin-x86_64.mk9
-rw-r--r--third_party/libevent/libevent.target.linux-arm.mk9
-rw-r--r--third_party/libevent/libevent.target.linux-mips.mk9
-rw-r--r--third_party/libevent/libevent.target.linux-x86.mk9
-rw-r--r--third_party/libevent/libevent.target.linux-x86_64.mk9
-rw-r--r--third_party/libjingle/libjingle.target.darwin-arm.mk11
-rw-r--r--third_party/libjingle/libjingle.target.darwin-mips.mk11
-rw-r--r--third_party/libjingle/libjingle.target.darwin-x86.mk11
-rw-r--r--third_party/libjingle/libjingle.target.darwin-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle.target.linux-arm.mk11
-rw-r--r--third_party/libjingle/libjingle.target.linux-mips.mk11
-rw-r--r--third_party/libjingle/libjingle.target.linux-x86.mk11
-rw-r--r--third_party/libjingle/libjingle.target.linux-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.darwin-arm.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.darwin-mips.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.darwin-x86.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.darwin-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.linux-arm.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.linux-mips.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.linux-x86.mk11
-rw-r--r--third_party/libjingle/libjingle_p2p_constants.target.linux-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.darwin-arm.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.darwin-mips.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.darwin-x86.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.darwin-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.linux-arm.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.linux-mips.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.linux-x86.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc.target.linux-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.darwin-arm.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.darwin-mips.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.darwin-x86.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.darwin-x86_64.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.linux-arm.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.linux-mips.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.linux-x86.mk11
-rw-r--r--third_party/libjingle/libjingle_webrtc_common.target.linux-x86_64.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.darwin-arm.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.darwin-mips.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.darwin-x86.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.darwin-x86_64.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.linux-arm.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.linux-mips.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.linux-x86.mk11
-rw-r--r--third_party/libjingle/libpeerconnection.target.linux-x86_64.mk11
-rw-r--r--third_party/libjingle/overrides/talk/base/logging.cc16
-rw-r--r--third_party/libjingle/overrides/talk/base/logging.h1
-rw-r--r--third_party/libjpeg/libjpeg.target.darwin-arm.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.darwin-mips.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.darwin-x86.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.darwin-x86_64.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.linux-arm.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.linux-mips.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.linux-x86.mk8
-rw-r--r--third_party/libjpeg/libjpeg.target.linux-x86_64.mk8
-rw-r--r--third_party/libphonenumber/libphonenumber.target.darwin-arm.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.darwin-mips.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.darwin-x86.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.darwin-x86_64.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.linux-arm.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.linux-mips.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.linux-x86.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber.target.linux-x86_64.mk11
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-arm.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-mips.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86_64.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.linux-arm.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.linux-mips.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86.mk21
-rw-r--r--third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86_64.mk21
-rw-r--r--third_party/libpng/libpng.target.darwin-arm.mk9
-rw-r--r--third_party/libpng/libpng.target.darwin-mips.mk9
-rw-r--r--third_party/libpng/libpng.target.darwin-x86.mk9
-rw-r--r--third_party/libpng/libpng.target.darwin-x86_64.mk9
-rw-r--r--third_party/libpng/libpng.target.linux-arm.mk9
-rw-r--r--third_party/libpng/libpng.target.linux-mips.mk9
-rw-r--r--third_party/libpng/libpng.target.linux-x86.mk9
-rw-r--r--third_party/libpng/libpng.target.linux-x86_64.mk9
-rw-r--r--third_party/libusb/BUILD.gn109
-rw-r--r--third_party/libwebp/README.chromium1
-rw-r--r--third_party/libwebp/dec/vp8l.c8
-rw-r--r--third_party/libwebp/libwebp.target.darwin-arm.mk20
-rw-r--r--third_party/libwebp/libwebp.target.darwin-mips.mk20
-rw-r--r--third_party/libwebp/libwebp.target.darwin-x86.mk20
-rw-r--r--third_party/libwebp/libwebp.target.darwin-x86_64.mk20
-rw-r--r--third_party/libwebp/libwebp.target.linux-arm.mk20
-rw-r--r--third_party/libwebp/libwebp.target.linux-mips.mk20
-rw-r--r--third_party/libwebp/libwebp.target.linux-x86.mk20
-rw-r--r--third_party/libwebp/libwebp.target.linux-x86_64.mk20
-rw-r--r--third_party/libwebp/libwebp_dec.target.darwin-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_dec.target.darwin-mips.mk11
-rw-r--r--third_party/libwebp/libwebp_dec.target.darwin-x86.mk11
-rw-r--r--third_party/libwebp/libwebp_dec.target.darwin-x86_64.mk11
-rw-r--r--third_party/libwebp/libwebp_dec.target.linux-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_dec.target.linux-mips.mk11
-rw-r--r--third_party/libwebp/libwebp_dec.target.linux-x86.mk11
-rw-r--r--third_party/libwebp/libwebp_dec.target.linux-x86_64.mk11
-rw-r--r--third_party/libwebp/libwebp_demux.target.darwin-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.darwin-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.darwin-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.darwin-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.linux-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.linux-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.linux-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_demux.target.linux-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.darwin-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.darwin-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.darwin-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.darwin-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.linux-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.linux-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.linux-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp.target.linux-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.darwin-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.darwin-mips.mk8
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.darwin-x86.mk8
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.darwin-x86_64.mk8
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.linux-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.linux-mips.mk8
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.linux-x86.mk8
-rw-r--r--third_party/libwebp/libwebp_dsp_neon.target.linux-x86_64.mk8
-rw-r--r--third_party/libwebp/libwebp_enc.target.darwin-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.darwin-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.darwin-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.darwin-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.linux-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.linux-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.linux-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_enc.target.linux-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.darwin-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.darwin-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.darwin-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.darwin-x86_64.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.linux-arm.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.linux-mips.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.linux-x86.mk9
-rw-r--r--third_party/libwebp/libwebp_utils.target.linux-x86_64.mk9
-rw-r--r--third_party/libxml/libxml.target.darwin-arm.mk11
-rw-r--r--third_party/libxml/libxml.target.darwin-mips.mk11
-rw-r--r--third_party/libxml/libxml.target.darwin-x86.mk11
-rw-r--r--third_party/libxml/libxml.target.darwin-x86_64.mk11
-rw-r--r--third_party/libxml/libxml.target.linux-arm.mk11
-rw-r--r--third_party/libxml/libxml.target.linux-mips.mk11
-rw-r--r--third_party/libxml/libxml.target.linux-x86.mk11
-rw-r--r--third_party/libxml/libxml.target.linux-x86_64.mk11
-rw-r--r--third_party/libxslt/libxslt.target.darwin-arm.mk9
-rw-r--r--third_party/libxslt/libxslt.target.darwin-mips.mk9
-rw-r--r--third_party/libxslt/libxslt.target.darwin-x86.mk9
-rw-r--r--third_party/libxslt/libxslt.target.darwin-x86_64.mk9
-rw-r--r--third_party/libxslt/libxslt.target.linux-arm.mk9
-rw-r--r--third_party/libxslt/libxslt.target.linux-mips.mk9
-rw-r--r--third_party/libxslt/libxslt.target.linux-x86.mk9
-rw-r--r--third_party/libxslt/libxslt.target.linux-x86_64.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.darwin-arm.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.darwin-mips.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.darwin-x86.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.darwin-x86_64.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.linux-arm.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.linux-mips.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.linux-x86.mk9
-rw-r--r--third_party/lzma_sdk/lzma_sdk.target.linux-x86_64.mk9
-rw-r--r--third_party/mesa/README.chromium3
-rw-r--r--third_party/mesa/mesa_headers.target.darwin-arm.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.darwin-mips.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.darwin-x86.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.darwin-x86_64.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.linux-arm.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.linux-mips.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.linux-x86.mk8
-rw-r--r--third_party/mesa/mesa_headers.target.linux-x86_64.mk8
-rw-r--r--third_party/modp_b64/BUILD.gn11
-rw-r--r--third_party/modp_b64/README.chromium9
-rw-r--r--third_party/modp_b64/modp_b64.target.darwin-arm.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.darwin-mips.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.darwin-x86.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.darwin-x86_64.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.linux-arm.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.linux-mips.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.linux-x86.mk9
-rw-r--r--third_party/modp_b64/modp_b64.target.linux-x86_64.mk9
-rw-r--r--third_party/modp_b64/modp_b64_data.h9
-rw-r--r--third_party/npapi/npapi.target.darwin-arm.mk8
-rw-r--r--third_party/npapi/npapi.target.darwin-mips.mk8
-rw-r--r--third_party/npapi/npapi.target.darwin-x86.mk8
-rw-r--r--third_party/npapi/npapi.target.darwin-x86_64.mk8
-rw-r--r--third_party/npapi/npapi.target.linux-arm.mk8
-rw-r--r--third_party/npapi/npapi.target.linux-mips.mk8
-rw-r--r--third_party/npapi/npapi.target.linux-x86.mk8
-rw-r--r--third_party/npapi/npapi.target.linux-x86_64.mk8
-rw-r--r--third_party/nss.isolate31
-rw-r--r--third_party/opus/opus.gyp9
-rw-r--r--third_party/opus/opus.target.darwin-arm.mk9
-rw-r--r--third_party/opus/opus.target.darwin-mips.mk9
-rw-r--r--third_party/opus/opus.target.darwin-x86.mk9
-rw-r--r--third_party/opus/opus.target.darwin-x86_64.mk9
-rw-r--r--third_party/opus/opus.target.linux-arm.mk9
-rw-r--r--third_party/opus/opus.target.linux-mips.mk9
-rw-r--r--third_party/opus/opus.target.linux-x86.mk9
-rw-r--r--third_party/opus/opus.target.linux-x86_64.mk9
-rw-r--r--third_party/polymer/PRESUBMIT.py60
-rw-r--r--third_party/polymer/README.chromium2
-rw-r--r--third_party/polymer/bower.json4
-rw-r--r--third_party/polymer/platform/.bower.json10
-rw-r--r--third_party/polymer/platform/bower.json2
-rw-r--r--third_party/polymer/platform/build.log234
-rw-r--r--third_party/polymer/platform/platform.js15
-rw-r--r--third_party/polymer/polymer-selector/.bower.json2
-rw-r--r--third_party/polymer/polymer/.bower.json22
-rw-r--r--third_party/polymer/polymer/README.md20
-rw-r--r--third_party/polymer/polymer/bower.json13
-rw-r--r--third_party/polymer/polymer/build.log217
-rw-r--r--third_party/polymer/polymer/polymer-body.html33
-rw-r--r--third_party/polymer/polymer/polymer.js4
-rw-r--r--third_party/polymer/polymer/polymer.js.map2
-rw-r--r--third_party/polymer/vulcanized/polymer-elements.html175
-rw-r--r--third_party/polymer/vulcanized/polymer-elements.in.html7
-rw-r--r--third_party/polymer/vulcanized/polymer-elements.js435
-rwxr-xr-xthird_party/polymer/vulcanized/vulcanize.py28
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.darwin-arm.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.darwin-mips.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86_64.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.linux-arm.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.linux-mips.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.linux-x86.mk11
-rw-r--r--third_party/protobuf/protobuf_full_do_not_use.host.linux-x86_64.mk11
-rw-r--r--third_party/protobuf/protobuf_lite.target.darwin-arm.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.darwin-mips.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.darwin-x86.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.darwin-x86_64.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.linux-arm.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.linux-mips.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.linux-x86.mk9
-rw-r--r--third_party/protobuf/protobuf_lite.target.linux-x86_64.mk9
-rw-r--r--third_party/protobuf/protoc.host.darwin-arm.mk15
-rw-r--r--third_party/protobuf/protoc.host.darwin-mips.mk15
-rw-r--r--third_party/protobuf/protoc.host.darwin-x86.mk15
-rw-r--r--third_party/protobuf/protoc.host.darwin-x86_64.mk15
-rw-r--r--third_party/protobuf/protoc.host.linux-arm.mk15
-rw-r--r--third_party/protobuf/protoc.host.linux-mips.mk15
-rw-r--r--third_party/protobuf/protoc.host.linux-x86.mk15
-rw-r--r--third_party/protobuf/protoc.host.linux-x86_64.mk15
-rw-r--r--third_party/qcms/qcms.target.darwin-arm.mk9
-rw-r--r--third_party/qcms/qcms.target.darwin-mips.mk9
-rw-r--r--third_party/qcms/qcms.target.darwin-x86.mk9
-rw-r--r--third_party/qcms/qcms.target.darwin-x86_64.mk9
-rw-r--r--third_party/qcms/qcms.target.linux-arm.mk9
-rw-r--r--third_party/qcms/qcms.target.linux-mips.mk9
-rw-r--r--third_party/qcms/qcms.target.linux-x86.mk9
-rw-r--r--third_party/qcms/qcms.target.linux-x86_64.mk9
-rw-r--r--third_party/re2/re2.target.darwin-arm.mk9
-rw-r--r--third_party/re2/re2.target.darwin-mips.mk9
-rw-r--r--third_party/re2/re2.target.darwin-x86.mk9
-rw-r--r--third_party/re2/re2.target.darwin-x86_64.mk9
-rw-r--r--third_party/re2/re2.target.linux-arm.mk9
-rw-r--r--third_party/re2/re2.target.linux-mips.mk9
-rw-r--r--third_party/re2/re2.target.linux-x86.mk9
-rw-r--r--third_party/re2/re2.target.linux-x86_64.mk9
-rw-r--r--third_party/sfntly/sfntly.target.darwin-arm.mk11
-rw-r--r--third_party/sfntly/sfntly.target.darwin-mips.mk11
-rw-r--r--third_party/sfntly/sfntly.target.darwin-x86.mk11
-rw-r--r--third_party/sfntly/sfntly.target.darwin-x86_64.mk11
-rw-r--r--third_party/sfntly/sfntly.target.linux-arm.mk11
-rw-r--r--third_party/sfntly/sfntly.target.linux-mips.mk11
-rw-r--r--third_party/sfntly/sfntly.target.linux-x86.mk11
-rw-r--r--third_party/sfntly/sfntly.target.linux-x86_64.mk11
-rw-r--r--third_party/smhasher/BUILD.gn35
-rw-r--r--third_party/smhasher/cityhash.target.darwin-arm.mk9
-rw-r--r--third_party/smhasher/cityhash.target.darwin-mips.mk9
-rw-r--r--third_party/smhasher/cityhash.target.darwin-x86.mk9
-rw-r--r--third_party/smhasher/cityhash.target.darwin-x86_64.mk9
-rw-r--r--third_party/smhasher/cityhash.target.linux-arm.mk9
-rw-r--r--third_party/smhasher/cityhash.target.linux-mips.mk9
-rw-r--r--third_party/smhasher/cityhash.target.linux-x86.mk9
-rw-r--r--third_party/smhasher/cityhash.target.linux-x86_64.mk9
-rw-r--r--third_party/sqlite/sqlite.target.darwin-arm.mk13
-rw-r--r--third_party/sqlite/sqlite.target.darwin-mips.mk13
-rw-r--r--third_party/sqlite/sqlite.target.darwin-x86.mk13
-rw-r--r--third_party/sqlite/sqlite.target.darwin-x86_64.mk13
-rw-r--r--third_party/sqlite/sqlite.target.linux-arm.mk13
-rw-r--r--third_party/sqlite/sqlite.target.linux-mips.mk13
-rw-r--r--third_party/sqlite/sqlite.target.linux-x86.mk13
-rw-r--r--third_party/sqlite/sqlite.target.linux-x86_64.mk13
-rw-r--r--third_party/tlslite/README.chromium1
-rw-r--r--third_party/tlslite/tlslite/__init__.py24
-rw-r--r--third_party/tlslite/tlslite/api.py72
-rw-r--r--third_party/tlslite/tlslite/basedb.py (renamed from third_party/tlslite/tlslite/BaseDB.py)0
-rw-r--r--third_party/tlslite/tlslite/checker.py (renamed from third_party/tlslite/tlslite/Checker.py)4
-rw-r--r--third_party/tlslite/tlslite/fileobject.py (renamed from third_party/tlslite/tlslite/FileObject.py)0
-rw-r--r--third_party/tlslite/tlslite/handshakesettings.py (renamed from third_party/tlslite/tlslite/HandshakeSettings.py)0
-rw-r--r--third_party/tlslite/tlslite/integration/TLSTwistedProtocolWrapper.py6
-rw-r--r--third_party/tlslite/tlslite/integration/__init__.py20
-rw-r--r--third_party/tlslite/tlslite/integration/asyncstatemachine.py (renamed from third_party/tlslite/tlslite/integration/AsyncStateMachine.py)0
-rw-r--r--third_party/tlslite/tlslite/integration/clienthelper.py (renamed from third_party/tlslite/tlslite/integration/ClientHelper.py)4
-rw-r--r--third_party/tlslite/tlslite/integration/httptlsconnection.py (renamed from third_party/tlslite/tlslite/integration/HTTPTLSConnection.py)6
-rw-r--r--third_party/tlslite/tlslite/integration/imap4_tls.py (renamed from third_party/tlslite/tlslite/integration/IMAP4_TLS.py)6
-rw-r--r--third_party/tlslite/tlslite/integration/integrationhelper.py (renamed from third_party/tlslite/tlslite/integration/IntegrationHelper.py)0
-rw-r--r--third_party/tlslite/tlslite/integration/pop3_tls.py (renamed from third_party/tlslite/tlslite/integration/POP3_TLS.py)6
-rw-r--r--third_party/tlslite/tlslite/integration/smtp_tls.py (renamed from third_party/tlslite/tlslite/integration/SMTP_TLS.py)6
-rw-r--r--third_party/tlslite/tlslite/integration/tlsasyncdispatchermixin.py (renamed from third_party/tlslite/tlslite/integration/TLSAsyncDispatcherMixIn.py)6
-rw-r--r--third_party/tlslite/tlslite/integration/tlssocketservermixin.py (renamed from third_party/tlslite/tlslite/integration/TLSSocketServerMixIn.py)4
-rw-r--r--third_party/tlslite/tlslite/integration/xmlrpctransport.py (renamed from third_party/tlslite/tlslite/integration/XMLRPCTransport.py)6
-rw-r--r--third_party/tlslite/tlslite/messages.py4
-rw-r--r--third_party/tlslite/tlslite/session.py (renamed from third_party/tlslite/tlslite/Session.py)0
-rw-r--r--third_party/tlslite/tlslite/sessioncache.py (renamed from third_party/tlslite/tlslite/SessionCache.py)0
-rw-r--r--third_party/tlslite/tlslite/sharedkeydb.py (renamed from third_party/tlslite/tlslite/SharedKeyDB.py)6
-rw-r--r--third_party/tlslite/tlslite/tlsconnection.py (renamed from third_party/tlslite/tlslite/TLSConnection.py)6
-rw-r--r--third_party/tlslite/tlslite/tlsrecordlayer.py (renamed from third_party/tlslite/tlslite/TLSRecordLayer.py)2
-rw-r--r--third_party/tlslite/tlslite/utils/__init__.py42
-rw-r--r--third_party/tlslite/tlslite/utils/aes.py (renamed from third_party/tlslite/tlslite/utils/AES.py)0
-rw-r--r--third_party/tlslite/tlslite/utils/asn1parser.py (renamed from third_party/tlslite/tlslite/utils/ASN1Parser.py)0
-rw-r--r--third_party/tlslite/tlslite/utils/cipherfactory.py46
-rw-r--r--third_party/tlslite/tlslite/utils/cryptlib_aes.py (renamed from third_party/tlslite/tlslite/utils/Cryptlib_AES.py)2
-rw-r--r--third_party/tlslite/tlslite/utils/cryptlib_rc4.py (renamed from third_party/tlslite/tlslite/utils/Cryptlib_RC4.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/cryptlib_tripledes.py (renamed from third_party/tlslite/tlslite/utils/Cryptlib_TripleDES.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/datefuncs.py (renamed from third_party/tlslite/tlslite/utils/dateFuncs.py)0
-rw-r--r--third_party/tlslite/tlslite/utils/keyfactory.py8
-rw-r--r--third_party/tlslite/tlslite/utils/openssl_aes.py (renamed from third_party/tlslite/tlslite/utils/OpenSSL_AES.py)2
-rw-r--r--third_party/tlslite/tlslite/utils/openssl_rc4.py (renamed from third_party/tlslite/tlslite/utils/OpenSSL_RC4.py)2
-rw-r--r--third_party/tlslite/tlslite/utils/openssl_rsakey.py (renamed from third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/openssl_tripledes.py (renamed from third_party/tlslite/tlslite/utils/OpenSSL_TripleDES.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/pycrypto_aes.py (renamed from third_party/tlslite/tlslite/utils/PyCrypto_AES.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/pycrypto_rc4.py (renamed from third_party/tlslite/tlslite/utils/PyCrypto_RC4.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/pycrypto_rsakey.py (renamed from third_party/tlslite/tlslite/utils/PyCrypto_RSAKey.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/pycrypto_tripledes.py (renamed from third_party/tlslite/tlslite/utils/PyCrypto_TripleDES.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/python_aes.py (renamed from third_party/tlslite/tlslite/utils/Python_AES.py)2
-rw-r--r--third_party/tlslite/tlslite/utils/python_rc4.py (renamed from third_party/tlslite/tlslite/utils/Python_RC4.py)2
-rw-r--r--third_party/tlslite/tlslite/utils/python_rsakey.py (renamed from third_party/tlslite/tlslite/utils/Python_RSAKey.py)4
-rw-r--r--third_party/tlslite/tlslite/utils/rc4.py (renamed from third_party/tlslite/tlslite/utils/RC4.py)0
-rw-r--r--third_party/tlslite/tlslite/utils/rsakey.py (renamed from third_party/tlslite/tlslite/utils/RSAKey.py)0
-rw-r--r--third_party/tlslite/tlslite/utils/tripledes.py (renamed from third_party/tlslite/tlslite/utils/TripleDES.py)0
-rw-r--r--third_party/tlslite/tlslite/verifierdb.py (renamed from third_party/tlslite/tlslite/VerifierDB.py)4
-rw-r--r--third_party/tlslite/tlslite/x509.py (renamed from third_party/tlslite/tlslite/X509.py)2
-rw-r--r--third_party/tlslite/tlslite/x509certchain.py (renamed from third_party/tlslite/tlslite/X509CertChain.py)4
-rw-r--r--third_party/usrsctp/usrsctp.gyp9
-rw-r--r--third_party/usrsctp/usrsctplib.target.darwin-arm.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.darwin-mips.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.darwin-x86.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.darwin-x86_64.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.linux-arm.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.linux-mips.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.linux-x86.mk10
-rw-r--r--third_party/usrsctp/usrsctplib.target.linux-x86_64.mk10
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-arm.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-mips.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86_64.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.linux-arm.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.linux-mips.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86.mk8
-rw-r--r--third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86_64.mk8
-rw-r--r--third_party/yasm/config_sources.host.darwin-x86.mk14
-rw-r--r--third_party/yasm/config_sources.host.darwin-x86_64.mk14
-rw-r--r--third_party/yasm/config_sources.host.linux-x86.mk14
-rw-r--r--third_party/yasm/config_sources.host.linux-x86_64.mk14
-rw-r--r--third_party/yasm/generate_files.host.darwin-x86.mk22
-rw-r--r--third_party/yasm/generate_files.host.darwin-x86_64.mk22
-rw-r--r--third_party/yasm/generate_files.host.linux-x86.mk22
-rw-r--r--third_party/yasm/generate_files.host.linux-x86_64.mk22
-rw-r--r--third_party/yasm/genmacro.host.darwin-x86.mk13
-rw-r--r--third_party/yasm/genmacro.host.darwin-x86_64.mk13
-rw-r--r--third_party/yasm/genmacro.host.linux-x86.mk13
-rw-r--r--third_party/yasm/genmacro.host.linux-x86_64.mk13
-rw-r--r--third_party/yasm/genmodule.host.darwin-x86.mk13
-rw-r--r--third_party/yasm/genmodule.host.darwin-x86_64.mk13
-rw-r--r--third_party/yasm/genmodule.host.linux-x86.mk13
-rw-r--r--third_party/yasm/genmodule.host.linux-x86_64.mk13
-rw-r--r--third_party/yasm/genperf.host.darwin-x86.mk17
-rw-r--r--third_party/yasm/genperf.host.darwin-x86_64.mk17
-rw-r--r--third_party/yasm/genperf.host.linux-x86.mk17
-rw-r--r--third_party/yasm/genperf.host.linux-x86_64.mk17
-rw-r--r--third_party/yasm/genperf_libs.host.darwin-x86.mk13
-rw-r--r--third_party/yasm/genperf_libs.host.darwin-x86_64.mk13
-rw-r--r--third_party/yasm/genperf_libs.host.linux-x86.mk13
-rw-r--r--third_party/yasm/genperf_libs.host.linux-x86_64.mk13
-rw-r--r--third_party/yasm/genstring.host.darwin-x86.mk13
-rw-r--r--third_party/yasm/genstring.host.darwin-x86_64.mk13
-rw-r--r--third_party/yasm/genstring.host.linux-x86.mk13
-rw-r--r--third_party/yasm/genstring.host.linux-x86_64.mk13
-rw-r--r--third_party/yasm/genversion.host.darwin-x86.mk13
-rw-r--r--third_party/yasm/genversion.host.darwin-x86_64.mk13
-rw-r--r--third_party/yasm/genversion.host.linux-x86.mk13
-rw-r--r--third_party/yasm/genversion.host.linux-x86_64.mk13
-rw-r--r--third_party/yasm/re2c.host.darwin-x86.mk13
-rw-r--r--third_party/yasm/re2c.host.darwin-x86_64.mk13
-rw-r--r--third_party/yasm/re2c.host.linux-x86.mk13
-rw-r--r--third_party/yasm/re2c.host.linux-x86_64.mk13
-rw-r--r--third_party/yasm/yasm.host.darwin-x86.mk31
-rw-r--r--third_party/yasm/yasm.host.darwin-x86_64.mk31
-rw-r--r--third_party/yasm/yasm.host.linux-x86.mk31
-rw-r--r--third_party/yasm/yasm.host.linux-x86_64.mk31
-rw-r--r--third_party/zlib/google/zip.target.darwin-arm.mk9
-rw-r--r--third_party/zlib/google/zip.target.darwin-mips.mk9
-rw-r--r--third_party/zlib/google/zip.target.darwin-x86.mk9
-rw-r--r--third_party/zlib/google/zip.target.darwin-x86_64.mk9
-rw-r--r--third_party/zlib/google/zip.target.linux-arm.mk9
-rw-r--r--third_party/zlib/google/zip.target.linux-mips.mk9
-rw-r--r--third_party/zlib/google/zip.target.linux-x86.mk9
-rw-r--r--third_party/zlib/google/zip.target.linux-x86_64.mk9
-rw-r--r--third_party/zlib/minizip.target.darwin-arm.mk9
-rw-r--r--third_party/zlib/minizip.target.darwin-mips.mk9
-rw-r--r--third_party/zlib/minizip.target.darwin-x86.mk9
-rw-r--r--third_party/zlib/minizip.target.darwin-x86_64.mk9
-rw-r--r--third_party/zlib/minizip.target.linux-arm.mk9
-rw-r--r--third_party/zlib/minizip.target.linux-mips.mk9
-rw-r--r--third_party/zlib/minizip.target.linux-x86.mk9
-rw-r--r--third_party/zlib/minizip.target.linux-x86_64.mk9
-rw-r--r--third_party/zlib/zlib.target.darwin-arm.mk9
-rw-r--r--third_party/zlib/zlib.target.darwin-mips.mk9
-rw-r--r--third_party/zlib/zlib.target.darwin-x86.mk9
-rw-r--r--third_party/zlib/zlib.target.darwin-x86_64.mk9
-rw-r--r--third_party/zlib/zlib.target.linux-arm.mk9
-rw-r--r--third_party/zlib/zlib.target.linux-mips.mk9
-rw-r--r--third_party/zlib/zlib.target.linux-x86.mk9
-rw-r--r--third_party/zlib/zlib.target.linux-x86_64.mk9
538 files changed, 4102 insertions, 2573 deletions
diff --git a/third_party/ashmem/ashmem.target.darwin-arm.mk b/third_party/ashmem/ashmem.target.darwin-arm.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.darwin-arm.mk
+++ b/third_party/ashmem/ashmem.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.darwin-mips.mk b/third_party/ashmem/ashmem.target.darwin-mips.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.darwin-mips.mk
+++ b/third_party/ashmem/ashmem.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.darwin-x86.mk b/third_party/ashmem/ashmem.target.darwin-x86.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.darwin-x86.mk
+++ b/third_party/ashmem/ashmem.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.darwin-x86_64.mk b/third_party/ashmem/ashmem.target.darwin-x86_64.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.darwin-x86_64.mk
+++ b/third_party/ashmem/ashmem.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.linux-arm.mk b/third_party/ashmem/ashmem.target.linux-arm.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.linux-arm.mk
+++ b/third_party/ashmem/ashmem.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.linux-mips.mk b/third_party/ashmem/ashmem.target.linux-mips.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.linux-mips.mk
+++ b/third_party/ashmem/ashmem.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.linux-x86.mk b/third_party/ashmem/ashmem.target.linux-x86.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.linux-x86.mk
+++ b/third_party/ashmem/ashmem.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/ashmem/ashmem.target.linux-x86_64.mk b/third_party/ashmem/ashmem.target.linux-x86_64.mk
index a8be56920d..7c713c810a 100644
--- a/third_party/ashmem/ashmem.target.linux-x86_64.mk
+++ b/third_party/ashmem/ashmem.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_ashmem_ashmem_gyp
LOCAL_MODULE_STEM := ashmem
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -41,6 +42,7 @@ ashmem: third_party_ashmem_ashmem_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -48,3 +50,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/binutils/.gitignore b/third_party/binutils/.gitignore
index 4dfd3b61dc..5605b2f711 100644
--- a/third_party/binutils/.gitignore
+++ b/third_party/binutils/.gitignore
@@ -1,3 +1,8 @@
binutils-*
*-chroot-*
output-*
+Linux_ia32/*stamp*
+Linux_ia32/*tar.bz2
+Linux_x64/*stamp*
+Linux_x64/*tar.bz2
+*/Release
diff --git a/third_party/binutils/Linux_ia32/binutils.tar.bz2.sha1 b/third_party/binutils/Linux_ia32/binutils.tar.bz2.sha1
new file mode 100644
index 0000000000..a736a35df5
--- /dev/null
+++ b/third_party/binutils/Linux_ia32/binutils.tar.bz2.sha1
@@ -0,0 +1 @@
+ae3fe5ea58b1d4b7f63e407c2a324253e60de8db \ No newline at end of file
diff --git a/third_party/binutils/Linux_x64/binutils.tar.bz2.sha1 b/third_party/binutils/Linux_x64/binutils.tar.bz2.sha1
new file mode 100644
index 0000000000..7befb4f177
--- /dev/null
+++ b/third_party/binutils/Linux_x64/binutils.tar.bz2.sha1
@@ -0,0 +1 @@
+7c835d1ac8eaa9c6244d8069fe47f5d1e31be01f \ No newline at end of file
diff --git a/third_party/binutils/download.py b/third_party/binutils/download.py
new file mode 100755
index 0000000000..5baf7cf6b9
--- /dev/null
+++ b/third_party/binutils/download.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+# vim: set ts=2 sw=2 et sts=2 ai:
+
+"""Minimal tool to download binutils from Google storage.
+
+TODO(mithro): Replace with generic download_and_extract tool.
+"""
+
+import os
+import platform
+import re
+import shutil
+import subprocess
+import sys
+
+
+BINUTILS_DIR = os.path.abspath(os.path.dirname(__file__))
+BINUTILS_FILE = 'binutils.tar.bz2'
+BINUTILS_TOOLS = ['bin/ld.gold', 'bin/objcopy', 'bin/objdump']
+BINUTILS_OUT = 'Release'
+
+DETECT_HOST_ARCH = os.path.abspath(os.path.join(
+ BINUTILS_DIR, '../../build/linux/detect_host_arch.py'))
+
+
+def ReadFile(filename):
+ with file(filename, 'r') as f:
+ return f.read().strip()
+
+
+def WriteFile(filename, content):
+ assert not os.path.exists(filename)
+ with file(filename, 'w') as f:
+ f.write(content)
+ f.write('\n')
+
+
+def GetArch():
+ gyp_host_arch = re.search(
+ 'host_arch=([^ ]*)', os.environ.get('GYP_DEFINES', ''))
+ if gyp_host_arch:
+ return gyp_host_arch.group(1)
+
+ return subprocess.check_output(['python', DETECT_HOST_ARCH]).strip()
+
+
+def main(args):
+ if not sys.platform.startswith('linux'):
+ return 0
+
+ archdir = os.path.join(BINUTILS_DIR, 'Linux_' + GetArch())
+ tarball = os.path.join(archdir, BINUTILS_FILE)
+ outdir = os.path.join(archdir, BINUTILS_OUT)
+
+ sha1file = tarball + '.sha1'
+ if not os.path.exists(sha1file):
+ print "WARNING: No binutils found for your architecture (%s)!" % GetArch()
+ return 0
+
+ checksum = ReadFile(sha1file)
+
+ stampfile = tarball + '.stamp'
+ if os.path.exists(stampfile):
+ if checksum == ReadFile(stampfile):
+ return 0
+ else:
+ os.unlink(stampfile)
+
+ print "Downloading", tarball
+ subprocess.check_call([
+ 'download_from_google_storage',
+ '--no_resume',
+ '--no_auth',
+ '--bucket', 'chromium-binutils',
+ '-s', sha1file])
+ assert os.path.exists(tarball)
+
+ if os.path.exists(outdir):
+ shutil.rmtree(outdir)
+ assert not os.path.exists(outdir)
+ os.makedirs(outdir)
+ assert os.path.exists(outdir)
+
+ print "Extracting", tarball
+ subprocess.check_call(['tar', 'axf', tarball], cwd=outdir)
+
+ for tool in BINUTILS_TOOLS:
+ assert os.path.exists(os.path.join(outdir, tool))
+
+ WriteFile(stampfile, checksum)
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/third_party/binutils/linux/.keepme b/third_party/binutils/linux/.keepme
deleted file mode 100644
index e69de29bb2..0000000000
--- a/third_party/binutils/linux/.keepme
+++ /dev/null
diff --git a/third_party/binutils/upload.sh b/third_party/binutils/upload.sh
index 27c11ceb8f..5ff10aad3a 100755
--- a/third_party/binutils/upload.sh
+++ b/third_party/binutils/upload.sh
@@ -5,21 +5,61 @@
# Upload the generated output to Google storage.
-if [ ! -d $1 ]; then
+set -e
+
+if [ ! -d "$1" ]; then
echo "update.sh <output directory from build-all.sh>"
exit 1
fi
-if [ ! -f ~/.boto ]; then
- echo "You need to run 'gsutil config' to set up authentication before running this script."
+if echo "$PWD" | grep -qE "/src/third_party/binutils$"; then
+ echo -n
+else
+ echo "update.sh should be run in src/third_party/binutils"
exit 1
fi
-BINUTILS_TAR_BZ2=linux/binutils.tar.bz2
-if [ -f ${BINUTILS_TAR_BZ2}.sha1 ]; then
- echo "Please remove ${BINUTILS_TAR_BZ2}.sha1 before starting..."
+if [ ! -f ~/.boto ]; then
+ echo "You need to run 'gsutil config' to set up authentication before running this script."
exit 1
fi
-(cd $1/; tar -jcvf ../$BINUTILS_TAR_BZ2 .)
-../depot_tools/upload_to_google_storage.py --bucket chromium-binutils $BINUTILS_TAR_BZ2
+for DIR in $1/*; do
+ # Skip if not directory
+ if [ ! -d "$DIR" ]; then
+ continue
+ fi
+
+ case "$DIR" in
+ */i686-pc-linux-gnu)
+ export ARCH="Linux_ia32"
+ ;;
+
+ */x86_64-unknown-linux-gnu)
+ export ARCH="Linux_x64"
+ ;;
+
+ *)
+ echo "Unknown architecture directory $DIR"
+ exit 1
+ ;;
+ esac
+
+ if [ ! -d "$ARCH" ]; then
+ mkdir -p "$ARCH"
+ fi
+
+ BINUTILS_TAR_BZ2="$ARCH/binutils.tar.bz2"
+ FULL_BINUTILS_TAR_BZ2="$PWD/$BINUTILS_TAR_BZ2"
+ if [ -f "${BINUTILS_TAR_BZ2}.sha1" ]; then
+ rm "${BINUTILS_TAR_BZ2}.sha1"
+ fi
+ (cd "$DIR"; tar jcf "$FULL_BINUTILS_TAR_BZ2" .)
+
+ upload_to_google_storage.py --bucket chromium-binutils "$BINUTILS_TAR_BZ2"
+ git add -f "${BINUTILS_TAR_BZ2}.sha1"
+done
+
+echo "Please commit the new .sha1 to the Chromium repository"
+echo ""
+echo "# git commit"
diff --git a/third_party/brotli/brotli.target.darwin-arm.mk b/third_party/brotli/brotli.target.darwin-arm.mk
index c153b70d95..635a5def68 100644
--- a/third_party/brotli/brotli.target.darwin-arm.mk
+++ b/third_party/brotli/brotli.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/brotli/brotli.target.darwin-mips.mk b/third_party/brotli/brotli.target.darwin-mips.mk
index 1ccbaf1448..6812bfd254 100644
--- a/third_party/brotli/brotli.target.darwin-mips.mk
+++ b/third_party/brotli/brotli.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/brotli/brotli.target.darwin-x86.mk b/third_party/brotli/brotli.target.darwin-x86.mk
index 7cb4a379a1..15dd60f79b 100644
--- a/third_party/brotli/brotli.target.darwin-x86.mk
+++ b/third_party/brotli/brotli.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/brotli/brotli.target.darwin-x86_64.mk b/third_party/brotli/brotli.target.darwin-x86_64.mk
index bc5227df08..94b4ad52d9 100644
--- a/third_party/brotli/brotli.target.darwin-x86_64.mk
+++ b/third_party/brotli/brotli.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/brotli/brotli.target.linux-arm.mk b/third_party/brotli/brotli.target.linux-arm.mk
index c153b70d95..635a5def68 100644
--- a/third_party/brotli/brotli.target.linux-arm.mk
+++ b/third_party/brotli/brotli.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/brotli/brotli.target.linux-mips.mk b/third_party/brotli/brotli.target.linux-mips.mk
index 1ccbaf1448..6812bfd254 100644
--- a/third_party/brotli/brotli.target.linux-mips.mk
+++ b/third_party/brotli/brotli.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/brotli/brotli.target.linux-x86.mk b/third_party/brotli/brotli.target.linux-x86.mk
index 7cb4a379a1..15dd60f79b 100644
--- a/third_party/brotli/brotli.target.linux-x86.mk
+++ b/third_party/brotli/brotli.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/brotli/brotli.target.linux-x86_64.mk b/third_party/brotli/brotli.target.linux-x86_64.mk
index bc5227df08..94b4ad52d9 100644
--- a/third_party/brotli/brotli.target.linux-x86_64.mk
+++ b/third_party/brotli/brotli.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_brotli_brotli_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/expat/expat.target.darwin-arm.mk b/third_party/expat/expat.target.darwin-arm.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.darwin-arm.mk
+++ b/third_party/expat/expat.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.darwin-mips.mk b/third_party/expat/expat.target.darwin-mips.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.darwin-mips.mk
+++ b/third_party/expat/expat.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.darwin-x86.mk b/third_party/expat/expat.target.darwin-x86.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.darwin-x86.mk
+++ b/third_party/expat/expat.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.darwin-x86_64.mk b/third_party/expat/expat.target.darwin-x86_64.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.darwin-x86_64.mk
+++ b/third_party/expat/expat.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.linux-arm.mk b/third_party/expat/expat.target.linux-arm.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.linux-arm.mk
+++ b/third_party/expat/expat.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.linux-mips.mk b/third_party/expat/expat.target.linux-mips.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.linux-mips.mk
+++ b/third_party/expat/expat.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.linux-x86.mk b/third_party/expat/expat.target.linux-x86.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.linux-x86.mk
+++ b/third_party/expat/expat.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/expat/expat.target.linux-x86_64.mk b/third_party/expat/expat.target.linux-x86_64.mk
index bbdfeb9a24..5289f83625 100644
--- a/third_party/expat/expat.target.linux-x86_64.mk
+++ b/third_party/expat/expat.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_expat_expat_gyp
LOCAL_MODULE_STEM := expat
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ expat: third_party_expat_expat_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/freetype2/BUILD.gn b/third_party/freetype2/BUILD.gn
new file mode 100644
index 0000000000..1f43030bdd
--- /dev/null
+++ b/third_party/freetype2/BUILD.gn
@@ -0,0 +1,70 @@
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+config("freetype2_config") {
+ include_dirs = [ "include", "src/include" ]
+}
+
+shared_library("freetype2") {
+ output_name = "freetype"
+ output_extension = "so.6"
+
+ sources = [
+ "src/src/autofit/autofit.c",
+ "src/src/base/ftbase.c",
+ "src/src/base/ftbbox.c",
+ "src/src/base/ftbdf.c",
+ "src/src/base/ftbitmap.c",
+ "src/src/base/ftcid.c",
+ "src/src/base/ftdebug.c",
+ "src/src/base/ftfstype.c",
+ "src/src/base/ftgasp.c",
+ "src/src/base/ftglyph.c",
+ "src/src/base/ftgxval.c",
+ "src/src/base/ftinit.c",
+ "src/src/base/ftlcdfil.c",
+ "src/src/base/ftpfr.c",
+ "src/src/base/ftstroke.c",
+ "src/src/base/ftsynth.c",
+ "src/src/base/ftsystem.c",
+ "src/src/base/fttype1.c",
+ "src/src/base/ftwinfnt.c",
+ "src/src/base/ftxf86.c",
+ "src/src/bdf/bdf.c",
+ "src/src/cff/cff.c",
+ "src/src/cid/type1cid.c",
+ "src/src/gzip/ftgzip.c",
+ "src/src/lzw/ftlzw.c",
+ "src/src/pcf/pcf.c",
+ "src/src/pfr/pfr.c",
+ "src/src/psaux/psaux.c",
+ "src/src/pshinter/pshinter.c",
+ "src/src/psnames/psnames.c",
+ "src/src/raster/raster.c",
+ "src/src/sfnt/sfnt.c",
+ "src/src/smooth/smooth.c",
+ "src/src/truetype/truetype.c",
+ "src/src/type1/type1.c",
+ "src/src/type42/type42.c",
+ "src/src/winfonts/winfnt.c",
+ ]
+
+ defines = [
+ "FT_CONFIG_OPTION_SYSTEM_ZLIB",
+ "FT2_BUILD_LIBRARY",
+
+ # TODO: crbug.com/358764 - we shouldn't need to escape these defines.
+ "'FT_CONFIG_CONFIG_H=<ftconfig.h>'", # See comments in README.chromium.
+ "'FT_CONFIG_MODULES_H=<ftmodule.h>'", # See comments in README.chromium.
+ "'FT_CONFIG_OPTIONS_H=<ftoption.h>'", # See comments in README.chromium.
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":freetype2_config" ]
+
+ direct_dependent_configs = [ ":freetype2_config" ]
+
+ libs = [ "z" ]
+}
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-arm.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-arm.mk
index 43aca302cc..68288fd635 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-arm.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -272,9 +273,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-mips.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-mips.mk
index 54ba6d4cbe..4bc268c7cc 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-mips.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -270,9 +271,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86.mk
index 794a477e0d..6771b0050c 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -270,9 +271,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86_64.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86_64.mk
index 0f43144e7b..ef110cab79 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86_64.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -270,9 +271,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-arm.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-arm.mk
index 43aca302cc..68288fd635 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-arm.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -272,9 +273,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-mips.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-mips.mk
index 54ba6d4cbe..4bc268c7cc 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-mips.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -270,9 +271,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86.mk
index 794a477e0d..6771b0050c 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -270,9 +271,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86_64.mk b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86_64.mk
index 0f43144e7b..ef110cab79 100644
--- a/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86_64.mk
+++ b/third_party/harfbuzz-ng/harfbuzz-ng.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_harfbuzz_ng_harfbuzz_ng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -253,9 +254,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -270,9 +271,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/iccjpeg/iccjpeg.target.darwin-arm.mk b/third_party/iccjpeg/iccjpeg.target.darwin-arm.mk
index a0e9b9a28f..29f4ffedf1 100644
--- a/third_party/iccjpeg/iccjpeg.target.darwin-arm.mk
+++ b/third_party/iccjpeg/iccjpeg.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/iccjpeg/iccjpeg.target.darwin-mips.mk b/third_party/iccjpeg/iccjpeg.target.darwin-mips.mk
index d7e247dedc..2b03e66e22 100644
--- a/third_party/iccjpeg/iccjpeg.target.darwin-mips.mk
+++ b/third_party/iccjpeg/iccjpeg.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/iccjpeg/iccjpeg.target.darwin-x86.mk b/third_party/iccjpeg/iccjpeg.target.darwin-x86.mk
index f7bc17989a..2b0a8c44d5 100644
--- a/third_party/iccjpeg/iccjpeg.target.darwin-x86.mk
+++ b/third_party/iccjpeg/iccjpeg.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/iccjpeg/iccjpeg.target.darwin-x86_64.mk b/third_party/iccjpeg/iccjpeg.target.darwin-x86_64.mk
index 36f9d5ef09..33d0a34f31 100644
--- a/third_party/iccjpeg/iccjpeg.target.darwin-x86_64.mk
+++ b/third_party/iccjpeg/iccjpeg.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/iccjpeg/iccjpeg.target.linux-arm.mk b/third_party/iccjpeg/iccjpeg.target.linux-arm.mk
index a0e9b9a28f..29f4ffedf1 100644
--- a/third_party/iccjpeg/iccjpeg.target.linux-arm.mk
+++ b/third_party/iccjpeg/iccjpeg.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/iccjpeg/iccjpeg.target.linux-mips.mk b/third_party/iccjpeg/iccjpeg.target.linux-mips.mk
index d7e247dedc..2b03e66e22 100644
--- a/third_party/iccjpeg/iccjpeg.target.linux-mips.mk
+++ b/third_party/iccjpeg/iccjpeg.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/iccjpeg/iccjpeg.target.linux-x86.mk b/third_party/iccjpeg/iccjpeg.target.linux-x86.mk
index f7bc17989a..2b0a8c44d5 100644
--- a/third_party/iccjpeg/iccjpeg.target.linux-x86.mk
+++ b/third_party/iccjpeg/iccjpeg.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/iccjpeg/iccjpeg.target.linux-x86_64.mk b/third_party/iccjpeg/iccjpeg.target.linux-x86_64.mk
index 36f9d5ef09..33d0a34f31 100644
--- a/third_party/iccjpeg/iccjpeg.target.linux-x86_64.mk
+++ b/third_party/iccjpeg/iccjpeg.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_iccjpeg_iccjpeg_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp)/libjpeg.stamp
+ $(call intermediates-dir-for,GYP,third_party_libjpeg_libjpeg_gyp,,,$(GYP_VAR_PREFIX))/libjpeg.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/khronos/khronos_headers.target.darwin-arm.mk b/third_party/khronos/khronos_headers.target.darwin-arm.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.darwin-arm.mk
+++ b/third_party/khronos/khronos_headers.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.darwin-mips.mk b/third_party/khronos/khronos_headers.target.darwin-mips.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.darwin-mips.mk
+++ b/third_party/khronos/khronos_headers.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.darwin-x86.mk b/third_party/khronos/khronos_headers.target.darwin-x86.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.darwin-x86.mk
+++ b/third_party/khronos/khronos_headers.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.darwin-x86_64.mk b/third_party/khronos/khronos_headers.target.darwin-x86_64.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.darwin-x86_64.mk
+++ b/third_party/khronos/khronos_headers.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.linux-arm.mk b/third_party/khronos/khronos_headers.target.linux-arm.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.linux-arm.mk
+++ b/third_party/khronos/khronos_headers.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.linux-mips.mk b/third_party/khronos/khronos_headers.target.linux-mips.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.linux-mips.mk
+++ b/third_party/khronos/khronos_headers.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.linux-x86.mk b/third_party/khronos/khronos_headers.target.linux-x86.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.linux-x86.mk
+++ b/third_party/khronos/khronos_headers.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/khronos/khronos_headers.target.linux-x86_64.mk b/third_party/khronos/khronos_headers.target.linux-x86_64.mk
index 31ade71434..1a02025b6d 100644
--- a/third_party/khronos/khronos_headers.target.linux-x86_64.mk
+++ b/third_party/khronos/khronos_headers.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_STEM := khronos_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ khronos_headers: third_party_khronos_khronos_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/leveldatabase/env_chromium_unittest.cc b/third_party/leveldatabase/env_chromium_unittest.cc
index 092ddfb92e..fef1498572 100644
--- a/third_party/leveldatabase/env_chromium_unittest.cc
+++ b/third_party/leveldatabase/env_chromium_unittest.cc
@@ -208,7 +208,6 @@ TEST(ChromiumEnv, BackupTables) {
// Ensure that deleting an ldb file also deletes its backup.
int orig_ldb_files = CountFilesWithExtension(dir, FPL(".ldb"));
- int orig_bak_files = CountFilesWithExtension(dir, FPL(".bak"));
EXPECT_GT(ldb_files, 0);
EXPECT_EQ(ldb_files, bak_files);
EXPECT_TRUE(GetFirstLDBFile(dir, &ldb_file));
@@ -228,7 +227,7 @@ TEST(ChromiumEnv, GetChildrenEmptyDir) {
std::vector<std::string> result;
leveldb::Status status = env->GetChildren(dir.AsUTF8Unsafe(), &result);
EXPECT_TRUE(status.ok());
- EXPECT_EQ(0, result.size());
+ EXPECT_EQ(0U, result.size());
}
TEST(ChromiumEnv, GetChildrenPriorResults) {
diff --git a/third_party/leveldatabase/leveldatabase.target.darwin-arm.mk b/third_party/leveldatabase/leveldatabase.target.darwin-arm.mk
index 26d0b35b85..059cc60a88 100644
--- a/third_party/leveldatabase/leveldatabase.target.darwin-arm.mk
+++ b/third_party/leveldatabase/leveldatabase.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/leveldatabase/leveldatabase.target.darwin-mips.mk b/third_party/leveldatabase/leveldatabase.target.darwin-mips.mk
index 270fdfce62..ad06366022 100644
--- a/third_party/leveldatabase/leveldatabase.target.darwin-mips.mk
+++ b/third_party/leveldatabase/leveldatabase.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -273,9 +274,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/leveldatabase/leveldatabase.target.darwin-x86.mk b/third_party/leveldatabase/leveldatabase.target.darwin-x86.mk
index 7ddce13048..38a6d3d81d 100644
--- a/third_party/leveldatabase/leveldatabase.target.darwin-x86.mk
+++ b/third_party/leveldatabase/leveldatabase.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -273,9 +274,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/leveldatabase/leveldatabase.target.darwin-x86_64.mk b/third_party/leveldatabase/leveldatabase.target.darwin-x86_64.mk
index 94addaf8c4..d0c6a29e29 100644
--- a/third_party/leveldatabase/leveldatabase.target.darwin-x86_64.mk
+++ b/third_party/leveldatabase/leveldatabase.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -273,9 +274,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/leveldatabase/leveldatabase.target.linux-arm.mk b/third_party/leveldatabase/leveldatabase.target.linux-arm.mk
index 26d0b35b85..059cc60a88 100644
--- a/third_party/leveldatabase/leveldatabase.target.linux-arm.mk
+++ b/third_party/leveldatabase/leveldatabase.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/leveldatabase/leveldatabase.target.linux-mips.mk b/third_party/leveldatabase/leveldatabase.target.linux-mips.mk
index 270fdfce62..ad06366022 100644
--- a/third_party/leveldatabase/leveldatabase.target.linux-mips.mk
+++ b/third_party/leveldatabase/leveldatabase.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -273,9 +274,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/leveldatabase/leveldatabase.target.linux-x86.mk b/third_party/leveldatabase/leveldatabase.target.linux-x86.mk
index 7ddce13048..38a6d3d81d 100644
--- a/third_party/leveldatabase/leveldatabase.target.linux-x86.mk
+++ b/third_party/leveldatabase/leveldatabase.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -273,9 +274,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/leveldatabase/leveldatabase.target.linux-x86_64.mk b/third_party/leveldatabase/leveldatabase.target.linux-x86_64.mk
index 94addaf8c4..d0c6a29e29 100644
--- a/third_party/leveldatabase/leveldatabase.target.linux-x86_64.mk
+++ b/third_party/leveldatabase/leveldatabase.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_leveldatabase_leveldatabase_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -256,9 +257,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -273,9 +274,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_am.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_am.xtb
index fb87fb5442..ae8b9b3ce7 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_am.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_am.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">ትክክል ያልሆነ አገባብ </translation>
<translation id="3115392440335510071">ልክ ያልሆነ ከተማ </translation>
<translation id="2096368010154057602">መምሪያ</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">ልክ ያልሆነ የፖስታ ኮድ </translation>
<translation id="4324055159384742341">ዚፕ ኮድ </translation>
<translation id="3174168572213147020">ደሴት</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">ልክ ያልሆነ ኤሚሬት </translation>
<translation id="1109975963117329533">ልክ ያልሆነ አገር </translation>
<translation id="6970216967273061347">ወረዳ</translation>
+<translation id="6207937957461833379">አገር / ክልል</translation>
<translation id="5089810972385038852">ክልል</translation>
<translation id="8038820434766881602">ልክ ያልሆነ አካባቢ </translation>
<translation id="3762468803736810423">ልክ ያልሆነ ደሴት </translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ar.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ar.xtb
index 8cc22a2960..237d849798 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ar.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ar.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">إدخال غير صالح</translation>
<translation id="3115392440335510071">مدينة غير صالحة</translation>
<translation id="2096368010154057602">القسم</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">رمز بريدي غير صالح</translation>
<translation id="4324055159384742341">الرمز البريدي</translation>
<translation id="3174168572213147020">جزيرة</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">إمارة غير صالحة</translation>
<translation id="1109975963117329533">مقاطعة غير صالحة</translation>
<translation id="6970216967273061347">المنطقة</translation>
+<translation id="6207937957461833379">البلد / المنطقة</translation>
<translation id="5089810972385038852">الولاية</translation>
<translation id="8038820434766881602">منطقة غير صالحة</translation>
<translation id="3762468803736810423">جزيرة غير صالحة</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bg.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bg.xtb
index 2585306898..1d77531792 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bg.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bg.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Въведеното е невалидно</translation>
<translation id="3115392440335510071">Градът е невалиден</translation>
<translation id="2096368010154057602">Департамент</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Пощенският код е невалиден</translation>
<translation id="4324055159384742341">Пощенски код</translation>
<translation id="3174168572213147020">Остров</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Емирството е невалидно</translation>
<translation id="1109975963117329533">Графството е невалидно</translation>
<translation id="6970216967273061347">Окръг</translation>
+<translation id="6207937957461833379">Държава/регион</translation>
<translation id="5089810972385038852">Щат</translation>
<translation id="8038820434766881602">Районът е невалиден</translation>
<translation id="3762468803736810423">Островът е невалиден</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bn.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bn.xtb
index f8673c3f6e..e50905ce27 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bn.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_bn.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="bn">
<translation id="777702478322588152">জেলা</translation>
+<translation id="3098361409928899613">রাস্তার ঠিকানা</translation>
+<translation id="2051050972662658124">কোম্পানি</translation>
+<translation id="8439516961404593852">প্যারিশ নির্ভুল নয়</translation>
<translation id="6327653052522436195">শহর</translation>
<translation id="6839929833149231406">এলাকা</translation>
+<translation id="8912409183643804845">পিন কোড নির্ভুল নয়</translation>
<translation id="3885155851504623709">প্যারিশ</translation>
<translation id="7087282848513945231">দেশ</translation>
+<translation id="775297008183122718">নির্ভুল নয়</translation>
+<translation id="3115392440335510071">শহর নির্ভুল নয়</translation>
<translation id="2096368010154057602">বিভাগ</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">পোস্টাল কোড নির্ভুল নয়</translation>
+<translation id="4324055159384742341">পিন কোড</translation>
<translation id="3174168572213147020">আইল্যাণ্ড</translation>
+<translation id="4633065712685282143">প্রদেশ নির্ভুল নয়</translation>
<translation id="7139724024395191329">এমিরেট</translation>
+<translation id="6911757819733577195">আমিরাত নির্ভুল নয়</translation>
+<translation id="1109975963117329533">কাউন্টি নির্ভুল নয়</translation>
<translation id="6970216967273061347">জেলা</translation>
+<translation id="6207937957461833379">দেশ / অঞ্চল</translation>
<translation id="5089810972385038852">রাজ্য</translation>
+<translation id="8038820434766881602">এলাকা নির্ভুল নয়</translation>
+<translation id="3762468803736810423">দ্বীপ নির্ভুল নয়</translation>
+<translation id="389443962449018712">ডু</translation>
+<translation id="8269074553075818065">বিভাগ নির্ভুল নয়</translation>
+<translation id="2948376896880970432">জেলা নির্ভুল নয়</translation>
+<translation id="8992120305356219616">রাজ্য নির্ভুল নয়</translation>
+<translation id="2735748245117253315">পোস্টাল কোড</translation>
+<translation id="545491265027533869">ডু নির্ভুল নয়</translation>
<translation id="6783392231122911543">ফিল্ড প্রয়োজন</translation>
<translation id="5095208057601539847">প্রদেশ</translation>
+<translation id="9006504626951158991">পরিচিতির নাম</translation>
+<translation id="2668249364995615760">প্রিফ্যাকচার নির্ভুল নয়</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ca.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ca.xtb
index 3286a4259b..acdb625824 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ca.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ca.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entrada no vàlida</translation>
<translation id="3115392440335510071">Ciutat no vàlida</translation>
<translation id="2096368010154057602">Departament</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Codi postal no vàlid</translation>
<translation id="4324055159384742341">Codi postal</translation>
<translation id="3174168572213147020">Illa</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirat no vàlid</translation>
<translation id="1109975963117329533">Comtat no vàlid</translation>
<translation id="6970216967273061347">Districte</translation>
+<translation id="6207937957461833379">País/Regió</translation>
<translation id="5089810972385038852">Estat</translation>
<translation id="8038820434766881602">Àrea no vàlida</translation>
<translation id="3762468803736810423">Illa no vàlida</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_cs.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_cs.xtb
index 1e23953731..d21e1698c9 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_cs.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_cs.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Neplatný vstup</translation>
<translation id="3115392440335510071">Neplatné město</translation>
<translation id="2096368010154057602">Department</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Neplatné PSČ</translation>
<translation id="4324055159384742341">PSČ</translation>
<translation id="3174168572213147020">Ostrov</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Neplatný emirát</translation>
<translation id="1109975963117329533">Neplatné hrabství</translation>
<translation id="6970216967273061347">Čtvrť</translation>
+<translation id="6207937957461833379">Země nebo oblast</translation>
<translation id="5089810972385038852">Stát</translation>
<translation id="8038820434766881602">Neplatná oblast</translation>
<translation id="3762468803736810423">Neplatný ostrov</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_da.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_da.xtb
index 8a7664c418..23eb41d1a5 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_da.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_da.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Ugyldig indtastning</translation>
<translation id="3115392440335510071">Ugyldig by</translation>
<translation id="2096368010154057602">Afdeling</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Ugyldigt postnummer</translation>
<translation id="4324055159384742341">Postnummer</translation>
<translation id="3174168572213147020">Ø</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Ugyldigt emirat</translation>
<translation id="1109975963117329533">Ugyldig region</translation>
<translation id="6970216967273061347">Distrikt</translation>
+<translation id="6207937957461833379">Land/region</translation>
<translation id="5089810972385038852">Stat</translation>
<translation id="8038820434766881602">Ugyldigt område</translation>
<translation id="3762468803736810423">Ugyldig ø</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_de.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_de.xtb
index 6e53473f8f..0d7b670b12 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_de.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_de.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Ungültiger Eintrag</translation>
<translation id="3115392440335510071">Ungültige Stadt</translation>
<translation id="2096368010154057602">Gebiet</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Ungültige Postleitzahl</translation>
<translation id="4324055159384742341">Postleitzahl</translation>
<translation id="3174168572213147020">Insel</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Ungültiges Emirat</translation>
<translation id="1109975963117329533">Ungültiger Landkreis</translation>
<translation id="6970216967273061347">Bezirk</translation>
+<translation id="6207937957461833379">Land/Region</translation>
<translation id="5089810972385038852">Bundesland</translation>
<translation id="8038820434766881602">Ungültiges Gebiet</translation>
<translation id="3762468803736810423">Ungültige Insel</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_el.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_el.xtb
index 73741d2d05..4fc165f6b8 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_el.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_el.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Μη έγκυρη καταχώριση</translation>
<translation id="3115392440335510071">Μη έγκυρη πόλη</translation>
<translation id="2096368010154057602">Τμήμα</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Μη έγκυρος ταχυδρομ. κώδικας</translation>
<translation id="4324055159384742341">Ταχυδρομικός κώδικας</translation>
<translation id="3174168572213147020">Νησί</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Μη έγκυρο εμιράτο</translation>
<translation id="1109975963117329533">Μη έγκυρη περιφέρεια</translation>
<translation id="6970216967273061347">Περιφέρεια</translation>
+<translation id="6207937957461833379">Χώρα/Περιοχή</translation>
<translation id="5089810972385038852">Πολιτεία</translation>
<translation id="8038820434766881602">Μη έγκυρη περιοχή</translation>
<translation id="3762468803736810423">Μη έγκυρο νησί</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_en-GB.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_en-GB.xtb
index 3a3be41bb4..bb1d66daa4 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_en-GB.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_en-GB.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Invalid entry</translation>
<translation id="3115392440335510071">Invalid city</translation>
<translation id="2096368010154057602">Department</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Invalid postcode</translation>
<translation id="4324055159384742341">Postcode</translation>
<translation id="3174168572213147020">Island</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Invalid emirate</translation>
<translation id="1109975963117329533">Invalid county</translation>
<translation id="6970216967273061347">District</translation>
+<translation id="6207937957461833379">Country / Region</translation>
<translation id="5089810972385038852">County</translation>
<translation id="8038820434766881602">Invalid area</translation>
<translation id="3762468803736810423">Invalid island</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es-419.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es-419.xtb
index 3bbb9d3c29..54c1098415 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es-419.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es-419.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entrada no válida</translation>
<translation id="3115392440335510071">Ciudad no válida</translation>
<translation id="2096368010154057602">Departamento</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Código postal no válido</translation>
<translation id="4324055159384742341">Código postal</translation>
<translation id="3174168572213147020">Isla</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirato no válido</translation>
<translation id="1109975963117329533">Condado no válido</translation>
<translation id="6970216967273061347">Distrito</translation>
+<translation id="6207937957461833379">País o región</translation>
<translation id="5089810972385038852">Estado</translation>
<translation id="8038820434766881602">Área no válida</translation>
<translation id="3762468803736810423">Isla no válida</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es.xtb
index eee390e541..28003d16bd 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_es.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entrada no válida</translation>
<translation id="3115392440335510071">Ciudad no válida</translation>
<translation id="2096368010154057602">Departamento</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Código postal no válido</translation>
<translation id="4324055159384742341">Código postal</translation>
<translation id="3174168572213147020">Isla</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirato no válido</translation>
<translation id="1109975963117329533">Región no válida</translation>
<translation id="6970216967273061347">Distrito</translation>
+<translation id="6207937957461833379">País o región</translation>
<translation id="5089810972385038852">Estado</translation>
<translation id="8038820434766881602">Área no válida</translation>
<translation id="3762468803736810423">Isla no válida</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_et.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_et.xtb
index d2ad2f3e14..41fc1f95f6 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_et.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_et.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Kehtetu kirje</translation>
<translation id="3115392440335510071">Kehtetu linn</translation>
<translation id="2096368010154057602">Osakond</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Kehtetu sihtnumber</translation>
<translation id="4324055159384742341">Sihtnumber</translation>
<translation id="3174168572213147020">Saar</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Kehtetu emiraat</translation>
<translation id="1109975963117329533">Kehtetu maakond</translation>
<translation id="6970216967273061347">Piirkond</translation>
+<translation id="6207937957461833379">Riik/piirkond</translation>
<translation id="5089810972385038852">Osariik</translation>
<translation id="8038820434766881602">Kehtetu ala</translation>
<translation id="3762468803736810423">Kehtetu saar</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fa.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fa.xtb
index 383ffe5460..e59fdfccb5 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fa.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fa.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">ورودی نامعتبر</translation>
<translation id="3115392440335510071">شهر نامعتبر</translation>
<translation id="2096368010154057602">اداره</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">کدپستی نامعتبر</translation>
<translation id="4324055159384742341">کدپستی</translation>
<translation id="3174168572213147020">جزیره</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">ناحیه امیرنشین نامعتبر</translation>
<translation id="1109975963117329533">شهرستان نامعتبر</translation>
<translation id="6970216967273061347">ناحیه</translation>
+<translation id="6207937957461833379">کشور/منطقه</translation>
<translation id="5089810972385038852">ایالت</translation>
<translation id="8038820434766881602">منطقه نامعتبر</translation>
<translation id="3762468803736810423">جزیره نامعتبر</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fi.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fi.xtb
index 9e88bdc23b..b9ec314524 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fi.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fi.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Virheellinen arvo</translation>
<translation id="3115392440335510071">Virheellinen kaupunki</translation>
<translation id="2096368010154057602">Osasto</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Postinumero ei kelpaa</translation>
<translation id="4324055159384742341">Postinumero</translation>
<translation id="3174168572213147020">Saari</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Virheellinen emiirikunta</translation>
<translation id="1109975963117329533">Virheellinen maa</translation>
<translation id="6970216967273061347">Alue</translation>
+<translation id="6207937957461833379">Maa/alue</translation>
<translation id="5089810972385038852">Osavaltio</translation>
<translation id="8038820434766881602">Virheellinen alue</translation>
<translation id="3762468803736810423">Virheellinen saari</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fil.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fil.xtb
index cc886b5cbc..99e4578291 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fil.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fil.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Di-wastong entry</translation>
<translation id="3115392440335510071">Di-wastong lungsod</translation>
<translation id="2096368010154057602">Kagawaran</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Di-wastong postal code</translation>
<translation id="4324055159384742341">Zip code:</translation>
<translation id="3174168572213147020">Island</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Di-wastong emirate</translation>
<translation id="1109975963117329533">Di-wastong county</translation>
<translation id="6970216967273061347">Distrito</translation>
+<translation id="6207937957461833379">Bansa / Rehiyon</translation>
<translation id="5089810972385038852">Estado</translation>
<translation id="8038820434766881602">Di-wastong lugar</translation>
<translation id="3762468803736810423">Di-wastong isla</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fr.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fr.xtb
index 8fa3fc46df..bf8d87e931 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fr.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_fr.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Saisie incorrecte</translation>
<translation id="3115392440335510071">Nom de la ville incorrect</translation>
<translation id="2096368010154057602">Département</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Code postal incorrect</translation>
<translation id="4324055159384742341">Code postal</translation>
<translation id="3174168572213147020">Île</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Nom de l'émirat incorrect</translation>
<translation id="1109975963117329533">Nom du comté incorrect</translation>
<translation id="6970216967273061347">District</translation>
+<translation id="6207937957461833379">Pays/Région</translation>
<translation id="5089810972385038852">État</translation>
<translation id="8038820434766881602">Nom région admin. incorrect</translation>
<translation id="3762468803736810423">Nom de l'île incorrect</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_gu.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_gu.xtb
index 338c971e29..ee5788e1ac 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_gu.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_gu.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="gu">
<translation id="777702478322588152">પ્રીફેક્ચર</translation>
+<translation id="3098361409928899613">શેરીનું સરનામું</translation>
+<translation id="2051050972662658124">કંપની</translation>
+<translation id="8439516961404593852">અમાન્ય પરગણું</translation>
<translation id="6327653052522436195">શહેર</translation>
<translation id="6839929833149231406">ક્ષેત્ર</translation>
+<translation id="8912409183643804845">અમાન્ય પિન કોડ</translation>
<translation id="3885155851504623709">પેરિશ</translation>
<translation id="7087282848513945231">વહીવટી વિભાગ</translation>
+<translation id="775297008183122718">અમાન્ય એન્ટ્રી</translation>
+<translation id="3115392440335510071">અમાન્ય શહેર</translation>
<translation id="2096368010154057602">વિભાગ</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">અમાન્ય પોસ્ટલ કોડ</translation>
+<translation id="4324055159384742341">પિન કોડ</translation>
<translation id="3174168572213147020">આઇલેન્ડ</translation>
+<translation id="4633065712685282143">અમાન્ય પ્રાંત</translation>
<translation id="7139724024395191329">એમિરેટ</translation>
+<translation id="6911757819733577195">અમાન્ય અમિરાત</translation>
+<translation id="1109975963117329533">અમાન્ય કાઉન્ટી</translation>
<translation id="6970216967273061347">જિલ્લો</translation>
+<translation id="6207937957461833379">દેશ / પ્રદેશ</translation>
<translation id="5089810972385038852">રાજ્ય</translation>
+<translation id="8038820434766881602">અમાન્ય ક્ષેત્ર</translation>
+<translation id="3762468803736810423">અમાન્ય આઇલેન્ડ</translation>
+<translation id="389443962449018712">ડુ</translation>
+<translation id="8269074553075818065">અમાન્ય વિભાગ</translation>
+<translation id="2948376896880970432">અમાન્ય જિલ્લો</translation>
+<translation id="8992120305356219616">અમાન્ય રાજ્ય</translation>
+<translation id="2735748245117253315">પોસ્ટલ કોડ</translation>
+<translation id="545491265027533869">અમાન્ય ડુ</translation>
<translation id="6783392231122911543">ફીલ્ડ આવશ્યક છે</translation>
<translation id="5095208057601539847">પ્રાંત</translation>
+<translation id="9006504626951158991">સંપર્ક નામ</translation>
+<translation id="2668249364995615760">અમાન્ય પ્રીફેક્ચર</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hi.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hi.xtb
index d91c237f37..663b2cf987 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hi.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hi.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">अमान्य प्रविष्टि</translation>
<translation id="3115392440335510071">अमान्य शहर</translation>
<translation id="2096368010154057602">विभाग</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">अमान्य डाक कोड</translation>
<translation id="4324055159384742341">ज़िप कोड</translation>
<translation id="3174168572213147020">आइलैंड</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">अमान्य अमीरात</translation>
<translation id="1109975963117329533">अमान्य काउंटी</translation>
<translation id="6970216967273061347">ज़िला</translation>
+<translation id="6207937957461833379">देश / क्षेत्र</translation>
<translation id="5089810972385038852">राज्य</translation>
<translation id="8038820434766881602">अमान्य क्षेत्र</translation>
<translation id="3762468803736810423">अमान्य द्वीप</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hr.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hr.xtb
index 9896a496bd..5c87f92dbb 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hr.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hr.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Nevažeći unos</translation>
<translation id="3115392440335510071">Nevažeći grad</translation>
<translation id="2096368010154057602">Odjel</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Nevažeći poštanski broj</translation>
<translation id="4324055159384742341">Poštanski broj</translation>
<translation id="3174168572213147020">Otok</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Nevažeći emirat</translation>
<translation id="1109975963117329533">Nevažeća grofovija</translation>
<translation id="6970216967273061347">Distrikt</translation>
+<translation id="6207937957461833379">Zemlja/regija</translation>
<translation id="5089810972385038852">Država</translation>
<translation id="8038820434766881602">Nevažeće područje</translation>
<translation id="3762468803736810423">Nevažeći otok</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hu.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hu.xtb
index c3c3a6f00b..69768042cb 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hu.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_hu.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Érvénytelen bevitel</translation>
<translation id="3115392440335510071">Érvénytelen város</translation>
<translation id="2096368010154057602">Részleg</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Érvénytelen irányítószám</translation>
<translation id="4324055159384742341">Irányítószám</translation>
<translation id="3174168572213147020">Sziget</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Érvénytelen emírség</translation>
<translation id="1109975963117329533">Érvénytelen megye</translation>
<translation id="6970216967273061347">Körzet</translation>
+<translation id="6207937957461833379">Ország/Régió</translation>
<translation id="5089810972385038852">Állam</translation>
<translation id="8038820434766881602">Érvénytelen terület</translation>
<translation id="3762468803736810423">Érvénytelen sziget</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_id.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_id.xtb
index 17e68eee32..a86ae30f2f 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_id.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_id.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entri tidak valid</translation>
<translation id="3115392440335510071">Kota tidak valid</translation>
<translation id="2096368010154057602">Departemen</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Kode pos tidak valid</translation>
<translation id="4324055159384742341">Kode ZIP</translation>
<translation id="3174168572213147020">Pulau</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirat tidak valid</translation>
<translation id="1109975963117329533">County tidak valid</translation>
<translation id="6970216967273061347">Distrik</translation>
+<translation id="6207937957461833379">Negara / Wilayah</translation>
<translation id="5089810972385038852">Negara Bagian</translation>
<translation id="8038820434766881602">Area tidak valid</translation>
<translation id="3762468803736810423">Pulau tidak valid</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_it.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_it.xtb
index ededfea1fe..69fcc75901 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_it.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_it.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Valore non valido</translation>
<translation id="3115392440335510071">Città non valida</translation>
<translation id="2096368010154057602">Dipartimento</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Codice postale non valido</translation>
<translation id="4324055159384742341">Codice postale</translation>
<translation id="3174168572213147020">Isola</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirato non valido</translation>
<translation id="1109975963117329533">Contea non valida</translation>
<translation id="6970216967273061347">Distretto</translation>
+<translation id="6207937957461833379">Paese/regione</translation>
<translation id="5089810972385038852">Stato</translation>
<translation id="8038820434766881602">Area non valida</translation>
<translation id="3762468803736810423">Isola non valida</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_iw.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_iw.xtb
index 868f6c1885..354ac84483 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_iw.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_iw.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">ערך לא חוקי</translation>
<translation id="3115392440335510071">עיר לא חוקית</translation>
<translation id="2096368010154057602">מחלקה</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">מיקוד לא חוקי</translation>
<translation id="4324055159384742341">מיקוד</translation>
<translation id="3174168572213147020">אי</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">אמירות לא חוקית</translation>
<translation id="1109975963117329533">מחוז לא תקף</translation>
<translation id="6970216967273061347">מחוז</translation>
+<translation id="6207937957461833379">ארץ/אזור</translation>
<translation id="5089810972385038852">מדינה</translation>
<translation id="8038820434766881602">אזור לא חוקי</translation>
<translation id="3762468803736810423">אי לא חוקי</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ja.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ja.xtb
index ee3aa65257..fec23f90ba 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ja.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ja.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">入力した値が無効です</translation>
<translation id="3115392440335510071">市区町村名が無効です</translation>
<translation id="2096368010154057602">県</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">郵便番号が無効です</translation>
<translation id="4324055159384742341">郵便番号</translation>
<translation id="3174168572213147020">島</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">首長国名が無効です</translation>
<translation id="1109975963117329533">郡名が無効です</translation>
<translation id="6970216967273061347">地区</translation>
+<translation id="6207937957461833379">国/地域</translation>
<translation id="5089810972385038852">州</translation>
<translation id="8038820434766881602">地域名が無効です</translation>
<translation id="3762468803736810423">島名が無効です</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_kn.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_kn.xtb
index b62881adc0..f9d2047492 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_kn.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_kn.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="kn">
<translation id="777702478322588152">ಪ್ರಿಫೆಕ್ಚರ್‌‌</translation>
+<translation id="3098361409928899613">ಗಲ್ಲಿ ವಿಳಾಸ</translation>
+<translation id="2051050972662658124">ಕಂಪನಿ</translation>
+<translation id="8439516961404593852">ಅಮಾನ್ಯ ಪ್ಯಾರಿಷ್</translation>
<translation id="6327653052522436195">ನಗರ</translation>
<translation id="6839929833149231406">ಪ್ರದೇಶ</translation>
+<translation id="8912409183643804845">ಅಮಾನ್ಯ ಪಿನ್‌ ಕೋಡ್</translation>
<translation id="3885155851504623709">ಪಾರಿಷ್</translation>
<translation id="7087282848513945231">ರಾಷ್ಟ್ರ</translation>
+<translation id="775297008183122718">ಅಮಾನ್ಯ ನಮೂದು</translation>
+<translation id="3115392440335510071">ಅಮಾನ್ಯ ನಗರ</translation>
<translation id="2096368010154057602">ವಿಭಾಗ</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">ಅಮಾನ್ಯ ಪೋಸ್ಟಲ್ ಕೋಡ್</translation>
+<translation id="4324055159384742341">ಪಿನ್‌ ಕೋಡ್‌</translation>
<translation id="3174168572213147020">ದ್ವೀಪ</translation>
+<translation id="4633065712685282143">ಅಮಾನ್ಯ ಪ್ರಾಂತ್ಯ</translation>
<translation id="7139724024395191329">ಎಮಿರೇಟ್</translation>
+<translation id="6911757819733577195">ಅಮಾನ್ಯ ಎಮಿರೇಟ್</translation>
+<translation id="1109975963117329533">ಅಮಾನ್ಯ ರಾಷ್ಟ್ರ</translation>
<translation id="6970216967273061347">ಜಿಲ್ಲೆ</translation>
+<translation id="6207937957461833379">ರಾಷ್ಟ್ರ/ಪ್ರದೇಶ</translation>
<translation id="5089810972385038852">ರಾಜ್ಯ</translation>
+<translation id="8038820434766881602">ಅಮಾನ್ಯ ಪ್ರದೇಶ</translation>
+<translation id="3762468803736810423">ಅಮಾನ್ಯ ದ್ವೀಪ</translation>
+<translation id="389443962449018712">ಡೊ</translation>
+<translation id="8269074553075818065">ಅಮಾನ್ಯ ಇಲಾಖೆ</translation>
+<translation id="2948376896880970432">ಅಮಾನ್ಯ ಜಿಲ್ಲೆ</translation>
+<translation id="8992120305356219616">ಅಮಾನ್ಯ ರಾಜ್ಯ</translation>
+<translation id="2735748245117253315">ಪೋಸ್ಟಲ್ ಕೋಡ್</translation>
+<translation id="545491265027533869">ಅಮಾನ್ಯ ಡೊ</translation>
<translation id="6783392231122911543">ಕ್ಷೇತ್ರ ಅಗತ್ಯವಿದೆ</translation>
<translation id="5095208057601539847">ಪ್ರಾಂತ್ಯ</translation>
+<translation id="9006504626951158991">ಸಂಪರ್ಕದ ಹೆಸರು</translation>
+<translation id="2668249364995615760">ಅಮಾನ್ಯ ಆಡಳಿತ ಪ್ರಾಂತ್ಯ</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ko.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ko.xtb
index 44ca2bc54d..436a29c9b9 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ko.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ko.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">입력값이 잘못되었습니다.</translation>
<translation id="3115392440335510071">시/군/구가 잘못되었습니다.</translation>
<translation id="2096368010154057602">주</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">우편번호가 잘못되었습니다.</translation>
<translation id="4324055159384742341">우편번호</translation>
<translation id="3174168572213147020">섬</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">에미리트가 잘못되었습니다.</translation>
<translation id="1109975963117329533">국가가 잘못되었습니다.</translation>
<translation id="6970216967273061347">구</translation>
+<translation id="6207937957461833379">국가/지역</translation>
<translation id="5089810972385038852">시/도</translation>
<translation id="8038820434766881602">지역이 잘못되었습니다.</translation>
<translation id="3762468803736810423">행정구역(섬)이 잘못되었습니다.</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lt.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lt.xtb
index dff5f1f5c5..68d43b2ca3 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lt.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lt.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Neteisingas įrašas</translation>
<translation id="3115392440335510071">Neteisingas miestas</translation>
<translation id="2096368010154057602">Skyrius</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Neteisingas pašto kodas</translation>
<translation id="4324055159384742341">Pašto kodas</translation>
<translation id="3174168572213147020">Sala</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Neteisingas emyratas</translation>
<translation id="1109975963117329533">Neteisinga grafystė</translation>
<translation id="6970216967273061347">Rajonas</translation>
+<translation id="6207937957461833379">Šalis / regionas</translation>
<translation id="5089810972385038852">Valstija</translation>
<translation id="8038820434766881602">Neteisinga sritis</translation>
<translation id="3762468803736810423">Neteisinga sala</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lv.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lv.xtb
index 0c800c895f..a73b591bc2 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lv.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_lv.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Nederīgs ieraksts</translation>
<translation id="3115392440335510071">Nederīga pilsēta</translation>
<translation id="2096368010154057602">Nodaļa</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Nederīgs pasta indekss</translation>
<translation id="4324055159384742341">Pasta indekss</translation>
<translation id="3174168572213147020">Sala</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Nederīgs emirāts</translation>
<translation id="1109975963117329533">Nederīgs apriņķis</translation>
<translation id="6970216967273061347">Rajons</translation>
+<translation id="6207937957461833379">Valsts/reģions</translation>
<translation id="5089810972385038852">Štats</translation>
<translation id="8038820434766881602">Nederīgs apgabals</translation>
<translation id="3762468803736810423">Nederīga sala</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ml.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ml.xtb
index 4c998b08a0..447b8de199 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ml.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ml.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="ml">
<translation id="777702478322588152">പ്രിഫെക്ചര്‍</translation>
+<translation id="3098361409928899613">സ്‌ട്രീറ്റ് വിലാസം</translation>
+<translation id="2051050972662658124">കമ്പനി</translation>
+<translation id="8439516961404593852">പാരിഷ് അസാധുവാണ്</translation>
<translation id="6327653052522436195">നഗരം</translation>
<translation id="6839929833149231406">ഏരിയ</translation>
+<translation id="8912409183643804845">പിൻ കോഡ് അസാധുവാണ്</translation>
<translation id="3885155851504623709">പാരിഷ്</translation>
<translation id="7087282848513945231">രാജ്യം</translation>
+<translation id="775297008183122718">എൻട്രി അസാധുവാണ്</translation>
+<translation id="3115392440335510071">നഗരം അസാധുവാണ്</translation>
<translation id="2096368010154057602">വകുപ്പ്</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">തപാൽ കോഡ് അസാധുവാണ്</translation>
+<translation id="4324055159384742341">പിൻ കോഡ്</translation>
<translation id="3174168572213147020">ഐസ്‌ലാന്‍റ്</translation>
+<translation id="4633065712685282143">പ്രവിശ്യ അസാധുവാണ്</translation>
<translation id="7139724024395191329">എമിറേറ്റ്</translation>
+<translation id="6911757819733577195">എമിറേറ്റ് അസാധുവാണ്</translation>
+<translation id="1109975963117329533">രാജ്യം അസാധുവാണ്</translation>
<translation id="6970216967273061347">ജില്ല</translation>
+<translation id="6207937957461833379">രാജ്യം / പ്രദേശം</translation>
<translation id="5089810972385038852">സംസ്ഥാനം</translation>
+<translation id="8038820434766881602">ഏരിയ അസാധുവാണ്</translation>
+<translation id="3762468803736810423">ദ്വീപ് അസാധുവാണ്</translation>
+<translation id="389443962449018712">ഡു</translation>
+<translation id="8269074553075818065">വിഭാഗം അസാധുവാണ്</translation>
+<translation id="2948376896880970432">ജില്ല അസാധുവാണ്</translation>
+<translation id="8992120305356219616">സംസ്ഥാനം അസാധുവാണ്</translation>
+<translation id="2735748245117253315">തപാൽ കോഡ്</translation>
+<translation id="545491265027533869">ഡു അസാധുവാണ്</translation>
<translation id="6783392231122911543">ഫീൽഡ് ആവശ്യമാണ്</translation>
<translation id="5095208057601539847">പ്രവിശ്യ</translation>
+<translation id="9006504626951158991">കോൺടാക്‌റ്റ് പേര്</translation>
+<translation id="2668249364995615760">പ്രിഫെക്‌ചർ അസാധുവാണ്</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_mr.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_mr.xtb
index ac5351fe84..53936f78c9 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_mr.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_mr.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="mr">
<translation id="777702478322588152">परफेक्चुअर</translation>
+<translation id="3098361409928899613">मार्ग पत्ता</translation>
+<translation id="2051050972662658124">कंपनी</translation>
+<translation id="8439516961404593852">अवैध पॅरिश</translation>
<translation id="6327653052522436195">शहर</translation>
<translation id="6839929833149231406">क्षेत्र</translation>
+<translation id="8912409183643804845">अवैध पिनकोड</translation>
<translation id="3885155851504623709">परगणा</translation>
<translation id="7087282848513945231">परगणा</translation>
+<translation id="775297008183122718">अवैध प्रविष्टी</translation>
+<translation id="3115392440335510071">अवैध शहर</translation>
<translation id="2096368010154057602">विभाग</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">अवैध पोस्टल कोड</translation>
+<translation id="4324055159384742341">पिनकोड</translation>
<translation id="3174168572213147020">बेट</translation>
+<translation id="4633065712685282143">अवैध प्रांत</translation>
<translation id="7139724024395191329">अमिरात</translation>
+<translation id="6911757819733577195">अवैध अमिरात</translation>
+<translation id="1109975963117329533">अवैध देश</translation>
<translation id="6970216967273061347">जिल्हा</translation>
+<translation id="6207937957461833379">देश / प्रदेश</translation>
<translation id="5089810972385038852">राज्य</translation>
+<translation id="8038820434766881602">अवैध क्षेत्र</translation>
+<translation id="3762468803736810423">अवैध बेट</translation>
+<translation id="389443962449018712">दो</translation>
+<translation id="8269074553075818065">अवैध विभाग</translation>
+<translation id="2948376896880970432">अवैध जिल्हा</translation>
+<translation id="8992120305356219616">अवैध राज्य</translation>
+<translation id="2735748245117253315">पोस्टल कोड</translation>
+<translation id="545491265027533869">अवैध दो</translation>
<translation id="6783392231122911543">फील्ड आवश्यक आहे</translation>
<translation id="5095208057601539847">प्रांत</translation>
+<translation id="9006504626951158991">संपर्क नाव</translation>
+<translation id="2668249364995615760">अवैध प्रीफेक्चर</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ms.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ms.xtb
index 15dee845a9..9b7e6ed15b 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ms.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ms.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entri tidak sah</translation>
<translation id="3115392440335510071">Bandar tidak sah</translation>
<translation id="2096368010154057602">Jabatan</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Poskod tidak sah</translation>
<translation id="4324055159384742341">Poskod</translation>
<translation id="3174168572213147020">Pulau</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emiriah tidak sah</translation>
<translation id="1109975963117329533">Negara tidak sah</translation>
<translation id="6970216967273061347">Daerah</translation>
+<translation id="6207937957461833379">Negara/Rantau</translation>
<translation id="5089810972385038852">Negeri</translation>
<translation id="8038820434766881602">Kawasan tidak sah</translation>
<translation id="3762468803736810423">Pulau tidak sah</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_nl.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_nl.xtb
index f387e5f239..dbdcad8b20 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_nl.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_nl.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Ongeldige invoer</translation>
<translation id="3115392440335510071">Ongeldige plaatsnaam</translation>
<translation id="2096368010154057602">Departement</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Ongeldige postcode</translation>
<translation id="4324055159384742341">Postcode</translation>
<translation id="3174168572213147020">Eiland</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Ongeldig emiraat</translation>
<translation id="1109975963117329533">Ongeldige county</translation>
<translation id="6970216967273061347">District</translation>
+<translation id="6207937957461833379">Land/regio</translation>
<translation id="5089810972385038852">Staat</translation>
<translation id="8038820434766881602">Ongeldig gebied</translation>
<translation id="3762468803736810423">Ongeldig eiland</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_no.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_no.xtb
index fc58e23ce0..e233d5fa45 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_no.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_no.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Ugyldig oppføring</translation>
<translation id="3115392440335510071">Ugyldig by</translation>
<translation id="2096368010154057602">Departement</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Ugyldig postnummer</translation>
<translation id="4324055159384742341">Postnummer</translation>
<translation id="3174168572213147020">Øy</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Ugyldig emirat</translation>
<translation id="1109975963117329533">Ugyldig fylke</translation>
<translation id="6970216967273061347">Distrikt</translation>
+<translation id="6207937957461833379">Land/region</translation>
<translation id="5089810972385038852">Delstat</translation>
<translation id="8038820434766881602">Ugyldig område</translation>
<translation id="3762468803736810423">Ugyldig øy</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pl.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pl.xtb
index 7b80110d7d..bbf2e24848 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pl.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pl.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Nieprawidłowy wpis</translation>
<translation id="3115392440335510071">Nieprawidłowe miasto</translation>
<translation id="2096368010154057602">Departament</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Nieprawidłowy kod pocztowy</translation>
<translation id="4324055159384742341">Kod pocztowy</translation>
<translation id="3174168572213147020">Wyspa</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Nieprawidłowy emirat</translation>
<translation id="1109975963117329533">Nieprawidłowe hrabstwo</translation>
<translation id="6970216967273061347">Dystrykt</translation>
+<translation id="6207937957461833379">Kraj/region</translation>
<translation id="5089810972385038852">Stan</translation>
<translation id="8038820434766881602">Nieprawidłowy region</translation>
<translation id="3762468803736810423">Nieprawidłowa wyspa</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-BR.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-BR.xtb
index bc907cdc98..3a2e4e9ec4 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-BR.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-BR.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entrada inválida</translation>
<translation id="3115392440335510071">Cidade inválida</translation>
<translation id="2096368010154057602">Departamento</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">CEP inválido</translation>
<translation id="4324055159384742341">CEP</translation>
<translation id="3174168572213147020">Ilha</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirado inválido</translation>
<translation id="1109975963117329533">Condado inválido</translation>
<translation id="6970216967273061347">Distrito</translation>
+<translation id="6207937957461833379">País / Região</translation>
<translation id="5089810972385038852">Estado</translation>
<translation id="8038820434766881602">Área inválida</translation>
<translation id="3762468803736810423">Ilha inválida</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-PT.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-PT.xtb
index 0e2ea3f075..4b82ac1c1b 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-PT.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_pt-PT.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Entrada inválida</translation>
<translation id="3115392440335510071">Cidade inválida</translation>
<translation id="2096368010154057602">Departamento</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Código postal inválido</translation>
<translation id="4324055159384742341">Código postal</translation>
<translation id="3174168572213147020">Ilha</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirado inválido</translation>
<translation id="1109975963117329533">País inválido</translation>
<translation id="6970216967273061347">Distrito</translation>
+<translation id="6207937957461833379">País/Região</translation>
<translation id="5089810972385038852">Estado</translation>
<translation id="8038820434766881602">Área inválida</translation>
<translation id="3762468803736810423">Ilha inválida</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ro.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ro.xtb
index b048918828..1ddf2da222 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ro.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ro.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Intrare nevalidă</translation>
<translation id="3115392440335510071">Oraş nevalid</translation>
<translation id="2096368010154057602">Departament</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Cod poştal nevalid</translation>
<translation id="4324055159384742341">Cod ZIP</translation>
<translation id="3174168572213147020">Insulă</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Emirat nevalid</translation>
<translation id="1109975963117329533">Regiune nevalidă</translation>
<translation id="6970216967273061347">District</translation>
+<translation id="6207937957461833379">Țara/Regiunea</translation>
<translation id="5089810972385038852">Stat</translation>
<translation id="8038820434766881602">Zonă nevalidă</translation>
<translation id="3762468803736810423">Insulă nevalidă</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ru.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ru.xtb
index 81ae9c9570..543ad37865 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ru.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ru.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Неверная запись</translation>
<translation id="3115392440335510071">Недопустимый город</translation>
<translation id="2096368010154057602">Департамент</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Недопустимый почтовый индекс</translation>
<translation id="4324055159384742341">Индекс</translation>
<translation id="3174168572213147020">Остров</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Недопустимый эмират</translation>
<translation id="1109975963117329533">Недопустимое графство</translation>
<translation id="6970216967273061347">Район</translation>
+<translation id="6207937957461833379">Страна/регион</translation>
<translation id="5089810972385038852">Штат</translation>
<translation id="8038820434766881602">Недопустимый район</translation>
<translation id="3762468803736810423">Недопустимый остров</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sk.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sk.xtb
index fa1f971682..22c4077003 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sk.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sk.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Neplatný vstup</translation>
<translation id="3115392440335510071">Neplatné mesto</translation>
<translation id="2096368010154057602">Oddelenie</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Neplatné PSČ</translation>
<translation id="4324055159384742341">PSČ</translation>
<translation id="3174168572213147020">Ostrov</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Neplatný emirát</translation>
<translation id="1109975963117329533">Neplatné grófstvo</translation>
<translation id="6970216967273061347">Štvrť</translation>
+<translation id="6207937957461833379">Krajina alebo oblasť</translation>
<translation id="5089810972385038852">Štát</translation>
<translation id="8038820434766881602">Neplatná oblasť</translation>
<translation id="3762468803736810423">Neplatný ostrov</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sl.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sl.xtb
index 69b138a887..98116227e2 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sl.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sl.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Neveljaven vnos</translation>
<translation id="3115392440335510071">Neveljavno mesto</translation>
<translation id="2096368010154057602">Departma</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Neveljavna poštna številka</translation>
<translation id="4324055159384742341">Poštna številka</translation>
<translation id="3174168572213147020">Otok</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Neveljaven emirat</translation>
<translation id="1109975963117329533">Neveljavna grofija</translation>
<translation id="6970216967273061347">Okraj</translation>
+<translation id="6207937957461833379">Država/regija</translation>
<translation id="5089810972385038852">Zvezna država</translation>
<translation id="8038820434766881602">Neveljavno območje</translation>
<translation id="3762468803736810423">Neveljaven otok</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sr.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sr.xtb
index 50d321d709..e0c4a0cfe0 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sr.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sr.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Неважећи унос</translation>
<translation id="3115392440335510071">Неважећи град</translation>
<translation id="2096368010154057602">Департман</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Неважећи поштански број</translation>
<translation id="4324055159384742341">Поштански број</translation>
<translation id="3174168572213147020">Острво</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Неважећи емират</translation>
<translation id="1109975963117329533">Неважећи округ</translation>
<translation id="6970216967273061347">Дистрикт</translation>
+<translation id="6207937957461833379">Земља/регија</translation>
<translation id="5089810972385038852">Држава</translation>
<translation id="8038820434766881602">Неважећа област</translation>
<translation id="3762468803736810423">Неважеће острво</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sv.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sv.xtb
index 00ff43f334..c7f9c6f1d9 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sv.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sv.xtb
@@ -9,25 +9,27 @@
<translation id="6839929833149231406">Område</translation>
<translation id="8912409183643804845">Ogiltigt postnummer</translation>
<translation id="3885155851504623709">Församling</translation>
-<translation id="7087282848513945231">Kommun</translation>
+<translation id="7087282848513945231">Grevskap</translation>
<translation id="775297008183122718">Ogiltig inmatning</translation>
<translation id="3115392440335510071">Ogiltig stad</translation>
-<translation id="2096368010154057602">Avdelning</translation>
+<translation id="2096368010154057602">Departement</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Ogiltigt postnummer</translation>
<translation id="4324055159384742341">Postnummer</translation>
<translation id="3174168572213147020">Ö</translation>
<translation id="4633065712685282143">Ogiltig provins</translation>
<translation id="7139724024395191329">Emirat</translation>
<translation id="6911757819733577195">Ogiltigt emirat</translation>
-<translation id="1109975963117329533">Ogiltigt land</translation>
+<translation id="1109975963117329533">Ogiltigt grevskap</translation>
<translation id="6970216967273061347">Distrikt</translation>
+<translation id="6207937957461833379">Land/region</translation>
<translation id="5089810972385038852">Stat</translation>
<translation id="8038820434766881602">Ogiltigt område</translation>
<translation id="3762468803736810423">Ogiltig ö</translation>
<translation id="389443962449018712">Do</translation>
<translation id="8269074553075818065">Ogiltigt departement</translation>
<translation id="2948376896880970432">Ogiltigt distrikt</translation>
-<translation id="8992120305356219616">Ogiltig status</translation>
+<translation id="8992120305356219616">Ogiltig delstat</translation>
<translation id="2735748245117253315">Postnummer</translation>
<translation id="545491265027533869">Ogiltigt do</translation>
<translation id="6783392231122911543">Fältet är obligatoriskt</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sw.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sw.xtb
index 1f6ee705ae..707288286f 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sw.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_sw.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Ingizo batili</translation>
<translation id="3115392440335510071">Mji ulioingizwa si sahihi</translation>
<translation id="2096368010154057602">Idara</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Msimbo wa posta si sahihi</translation>
<translation id="4324055159384742341">Msimbo wa Eneo</translation>
<translation id="3174168572213147020">Kisiwa</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Kadhi batili</translation>
<translation id="1109975963117329533">Nchi iliyoingizwa si sahihi</translation>
<translation id="6970216967273061347">Wilaya</translation>
+<translation id="6207937957461833379">Nchi / Eneo</translation>
<translation id="5089810972385038852">Jimbo</translation>
<translation id="8038820434766881602">Jina la eneo si sahihi</translation>
<translation id="3762468803736810423">Kisiwa kilichoingizwa si sahihi</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ta.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ta.xtb
index fb4865e884..ba05279c08 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ta.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_ta.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="ta">
<translation id="777702478322588152">ப்ரீஃபெக்சர்</translation>
+<translation id="3098361409928899613">தெரு முகவரி</translation>
+<translation id="2051050972662658124">நிறுவனம்</translation>
+<translation id="8439516961404593852">தவறான வட்டாரம்</translation>
<translation id="6327653052522436195">நகரம்</translation>
<translation id="6839929833149231406">பரப்பு</translation>
+<translation id="8912409183643804845">தவறான அஞ்சல் குறியீடு</translation>
<translation id="3885155851504623709">வட்டாரம்</translation>
<translation id="7087282848513945231">மாகாணம்</translation>
+<translation id="775297008183122718">தவறான உள்ளீடு</translation>
+<translation id="3115392440335510071">தவறான நகரம்</translation>
<translation id="2096368010154057602">துறை</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">தவறான அஞ்சல் குறியீடு</translation>
+<translation id="4324055159384742341">அஞ்சல் குறியீடு</translation>
<translation id="3174168572213147020">தீவு</translation>
+<translation id="4633065712685282143">தவறான மாகாணம்</translation>
<translation id="7139724024395191329">எமிரேட்</translation>
+<translation id="6911757819733577195">தவறான எமிரேட்</translation>
+<translation id="1109975963117329533">தவறான நாடு</translation>
<translation id="6970216967273061347">மாவட்டம்</translation>
+<translation id="6207937957461833379">நாடு / மண்டலம்</translation>
<translation id="5089810972385038852">மாநிலம்</translation>
+<translation id="8038820434766881602">தவறான பகுதி</translation>
+<translation id="3762468803736810423">தவறான தீவு</translation>
+<translation id="389443962449018712">பிராந்தியம்</translation>
+<translation id="8269074553075818065">தவறான துறை</translation>
+<translation id="2948376896880970432">தவறான மாவட்டம்</translation>
+<translation id="8992120305356219616">தவறான மாநிலம்</translation>
+<translation id="2735748245117253315">அஞ்சல் குறியீடு</translation>
+<translation id="545491265027533869">தவறான பிராந்தியம்</translation>
<translation id="6783392231122911543">அவசியமான கலம்</translation>
<translation id="5095208057601539847">பிராந்தியம்</translation>
+<translation id="9006504626951158991">தொடர்பு பெயர்</translation>
+<translation id="2668249364995615760">தவறான எல்லை</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_te.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_te.xtb
index 588e2f8f93..01e214cedf 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_te.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_te.xtb
@@ -2,15 +2,38 @@
<!DOCTYPE translationbundle>
<translationbundle lang="te">
<translation id="777702478322588152">అధికారిక నివాసం</translation>
+<translation id="3098361409928899613">వీధి చిరునామా</translation>
+<translation id="2051050972662658124">కంపెనీ</translation>
+<translation id="8439516961404593852">పారిష్ చెల్లదు</translation>
<translation id="6327653052522436195">నగరం</translation>
<translation id="6839929833149231406">ప్రాంతం</translation>
+<translation id="8912409183643804845">జిప్ కోడ్ చెల్లదు</translation>
<translation id="3885155851504623709">పారిష్</translation>
<translation id="7087282848513945231">కౌంటి</translation>
+<translation id="775297008183122718">నమోదు చెల్లదు</translation>
+<translation id="3115392440335510071">నగరం చెల్లదు</translation>
<translation id="2096368010154057602">శాఖ</translation>
+<translation id="7126440494981488324">CEDEX</translation>
+<translation id="5388642860747844727">పోస్టల్ కోడ్ చెల్లదు</translation>
+<translation id="4324055159384742341">జిప్ కోడ్</translation>
<translation id="3174168572213147020">దీవి</translation>
+<translation id="4633065712685282143">ప్రావిన్స్ చెల్లదు</translation>
<translation id="7139724024395191329">ఎమిరేట్</translation>
+<translation id="6911757819733577195">ఎమిరేట్ చెల్లదు</translation>
+<translation id="1109975963117329533">దేశం చెల్లదు</translation>
<translation id="6970216967273061347">జిల్లా</translation>
+<translation id="6207937957461833379">దేశం / ప్రాంతం</translation>
<translation id="5089810972385038852">రాష్ట్రం</translation>
+<translation id="8038820434766881602">ప్రాంతం చెల్లదు</translation>
+<translation id="3762468803736810423">ద్వీపం చెల్లదు</translation>
+<translation id="389443962449018712">డు</translation>
+<translation id="8269074553075818065">శాఖ చెల్లదు</translation>
+<translation id="2948376896880970432">జిల్లా చెల్లదు</translation>
+<translation id="8992120305356219616">రాష్ట్రం చెల్లదు</translation>
+<translation id="2735748245117253315">పోస్టల్ కోడ్</translation>
+<translation id="545491265027533869">డు చెల్లదు</translation>
<translation id="6783392231122911543">అవసరమైన ఫీల్డ్</translation>
<translation id="5095208057601539847">ప్రావిన్స్</translation>
+<translation id="9006504626951158991">సంప్రదించాల్సిన పేరు</translation>
+<translation id="2668249364995615760">ప్రిఫెక్చర్ చెల్లదు</translation>
</translationbundle> \ No newline at end of file
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_th.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_th.xtb
index 710d1be940..5241cae7ca 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_th.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_th.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">ป้อนข้อมูลไม่ถูกต้อง</translation>
<translation id="3115392440335510071">เมืองไม่ถูกต้อง</translation>
<translation id="2096368010154057602">แผนก</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">รหัสไปรษณีย์ไม่ถูกต้อง</translation>
<translation id="4324055159384742341">รหัสไปรษณีย์</translation>
<translation id="3174168572213147020">เกาะ</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">ข้อมูลอาหรับเอมิเรตส์ไม่ถูกต้อง</translation>
<translation id="1109975963117329533">ประเทศไม่ถูกต้อง</translation>
<translation id="6970216967273061347">อำเภอ</translation>
+<translation id="6207937957461833379">ประเทศ/เขตการปกครอง</translation>
<translation id="5089810972385038852">รัฐ</translation>
<translation id="8038820434766881602">พื้นที่ไม่ถูกต้อง</translation>
<translation id="3762468803736810423">เกาะไม่ถูกต้อง</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_tr.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_tr.xtb
index 1e21ba04d8..a37167640d 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_tr.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_tr.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Geçersiz giriş</translation>
<translation id="3115392440335510071">Geçersiz şehir</translation>
<translation id="2096368010154057602">Bölüm</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Geçersiz posta kodu</translation>
<translation id="4324055159384742341">Posta Kodu</translation>
<translation id="3174168572213147020">Ada</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Geçersiz emirlik</translation>
<translation id="1109975963117329533">Geçersiz il</translation>
<translation id="6970216967273061347">Bölge</translation>
+<translation id="6207937957461833379">Ülke / Bölge</translation>
<translation id="5089810972385038852">Eyalet</translation>
<translation id="8038820434766881602">Geçersiz alan</translation>
<translation id="3762468803736810423">Geçersiz ada</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_uk.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_uk.xtb
index 2ee662d825..44612807cd 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_uk.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_uk.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Недійсне введене значення</translation>
<translation id="3115392440335510071">Недійсне місто</translation>
<translation id="2096368010154057602">Департамент</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Недійсний поштовий індекс</translation>
<translation id="4324055159384742341">Поштовий індекс</translation>
<translation id="3174168572213147020">Острів</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Недійсний емірат</translation>
<translation id="1109975963117329533">Недійсне графство</translation>
<translation id="6970216967273061347">Район</translation>
+<translation id="6207937957461833379">Країна або регіон</translation>
<translation id="5089810972385038852">Штат</translation>
<translation id="8038820434766881602">Недійсний район</translation>
<translation id="3762468803736810423">Недійсний острів</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_vi.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_vi.xtb
index ed89f9c7ce..7aad69cbf4 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_vi.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_vi.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">Mục nhập không hợp lệ</translation>
<translation id="3115392440335510071">Thành phố không hợp lệ</translation>
<translation id="2096368010154057602">Bộ phận</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">Mã bưu điện không hợp lệ</translation>
<translation id="4324055159384742341">Mã ZIP</translation>
<translation id="3174168572213147020">Đảo</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">Vương quốc không hợp lệ</translation>
<translation id="1109975963117329533">Hạt không hợp lệ</translation>
<translation id="6970216967273061347">Quận</translation>
+<translation id="6207937957461833379">Quốc gia/vùng</translation>
<translation id="5089810972385038852">Tiểu bang</translation>
<translation id="8038820434766881602">Khu vực không hợp lệ</translation>
<translation id="3762468803736810423">Đảo không hợp lệ</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-CN.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-CN.xtb
index d41d0abe0b..f4b8cc329f 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-CN.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-CN.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">输入内容无效</translation>
<translation id="3115392440335510071">城市无效</translation>
<translation id="2096368010154057602">部门</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">邮编无效</translation>
<translation id="4324055159384742341">邮编</translation>
<translation id="3174168572213147020">岛</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">酋长国无效</translation>
<translation id="1109975963117329533">郡/县无效</translation>
<translation id="6970216967273061347">区</translation>
+<translation id="6207937957461833379">国家/地区</translation>
<translation id="5089810972385038852">州</translation>
<translation id="8038820434766881602">地区无效</translation>
<translation id="3762468803736810423">岛屿无效</translation>
diff --git a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-TW.xtb b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-TW.xtb
index 3422049675..2200b89e43 100644
--- a/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-TW.xtb
+++ b/third_party/libaddressinput/chromium/cpp/res/strings/libaddressinput_strings_zh-TW.xtb
@@ -13,6 +13,7 @@
<translation id="775297008183122718">無效的輸入值</translation>
<translation id="3115392440335510071">城市錯誤</translation>
<translation id="2096368010154057602">部</translation>
+<translation id="7126440494981488324">CEDEX</translation>
<translation id="5388642860747844727">郵遞區號錯誤</translation>
<translation id="4324055159384742341">郵遞區號</translation>
<translation id="3174168572213147020">島</translation>
@@ -21,6 +22,7 @@
<translation id="6911757819733577195">無效的大公國</translation>
<translation id="1109975963117329533">無效的郡</translation>
<translation id="6970216967273061347">行政區</translation>
+<translation id="6207937957461833379">國家/地區</translation>
<translation id="5089810972385038852">州</translation>
<translation id="8038820434766881602">無效的區</translation>
<translation id="3762468803736810423">無效的島</translation>
diff --git a/third_party/libevent/README.chromium b/third_party/libevent/README.chromium
index 99695661ec..7e5f8baee8 100644
--- a/third_party/libevent/README.chromium
+++ b/third_party/libevent/README.chromium
@@ -13,7 +13,7 @@ static library using GYP.
solaris/, and mac/ respectively.
2) Add libevent.gyp.
3) chromium.patch is applied to allow libevent to be used without
- being installed.
+ being installed and to fix a race condition.
4) The directories WIN32-Code and WIN32-Prj are not included.
5) Apply r87338.
6) The configs for android were copied from Linux's which were very close to
diff --git a/third_party/libevent/chromium.patch b/third_party/libevent/chromium.patch
index 31bc327c4d..08e012278c 100644
--- a/third_party/libevent/chromium.patch
+++ b/third_party/libevent/chromium.patch
@@ -81,3 +81,68 @@ index dcb0013..8b664b9 100644
#ifdef _EVENT_HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
+diff --git a/third_party/libevent/README.chromium b/third_party/libevent/README.chromium
+index 9969566..7e5f8ba 100644
+diff --git a/third_party/libevent/event.c b/third_party/libevent/event.c
+index 1253352..8b6cae5 100644
+--- a/third_party/libevent/event.c
++++ b/third_party/libevent/event.c
+@@ -107,7 +107,7 @@ static const struct eventop *eventops[] = {
+ /* Global state */
+ struct event_base *current_base = NULL;
+ extern struct event_base *evsignal_base;
+-static int use_monotonic;
++static int use_monotonic = 1;
+
+ /* Prototypes */
+ static void event_queue_insert(struct event_base *, struct event *, int);
+@@ -120,17 +120,6 @@ static int timeout_next(struct event_base *, struct timeval **);
+ static void timeout_process(struct event_base *);
+ static void timeout_correct(struct event_base *, struct timeval *);
+
+-static void
+-detect_monotonic(void)
+-{
+-#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
+- struct timespec ts;
+-
+- if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0)
+- use_monotonic = 1;
+-#endif
+-}
+-
+ static int
+ gettime(struct event_base *base, struct timeval *tp)
+ {
+@@ -140,18 +129,18 @@ gettime(struct event_base *base, struct timeval *tp)
+ }
+
+ #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
+- if (use_monotonic) {
+- struct timespec ts;
+-
+- if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1)
+- return (-1);
++ struct timespec ts;
+
++ if (use_monotonic &&
++ clock_gettime(CLOCK_MONOTONIC, &ts) == 0) {
+ tp->tv_sec = ts.tv_sec;
+ tp->tv_usec = ts.tv_nsec / 1000;
+ return (0);
+ }
+ #endif
+
++ use_monotonic = 0;
++
+ return (evutil_gettimeofday(tp, NULL));
+ }
+
+@@ -175,7 +164,6 @@ event_base_new(void)
+ if ((base = calloc(1, sizeof(struct event_base))) == NULL)
+ event_err(1, "%s: calloc", __func__);
+
+- detect_monotonic();
+ gettime(base, &base->event_tv);
+
+ min_heap_ctor(&base->timeheap);
diff --git a/third_party/libevent/event.c b/third_party/libevent/event.c
index 125335207d..8b6cae507c 100644
--- a/third_party/libevent/event.c
+++ b/third_party/libevent/event.c
@@ -107,7 +107,7 @@ static const struct eventop *eventops[] = {
/* Global state */
struct event_base *current_base = NULL;
extern struct event_base *evsignal_base;
-static int use_monotonic;
+static int use_monotonic = 1;
/* Prototypes */
static void event_queue_insert(struct event_base *, struct event *, int);
@@ -120,17 +120,6 @@ static int timeout_next(struct event_base *, struct timeval **);
static void timeout_process(struct event_base *);
static void timeout_correct(struct event_base *, struct timeval *);
-static void
-detect_monotonic(void)
-{
-#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
- struct timespec ts;
-
- if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0)
- use_monotonic = 1;
-#endif
-}
-
static int
gettime(struct event_base *base, struct timeval *tp)
{
@@ -140,18 +129,18 @@ gettime(struct event_base *base, struct timeval *tp)
}
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
- if (use_monotonic) {
- struct timespec ts;
-
- if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1)
- return (-1);
+ struct timespec ts;
+ if (use_monotonic &&
+ clock_gettime(CLOCK_MONOTONIC, &ts) == 0) {
tp->tv_sec = ts.tv_sec;
tp->tv_usec = ts.tv_nsec / 1000;
return (0);
}
#endif
+ use_monotonic = 0;
+
return (evutil_gettimeofday(tp, NULL));
}
@@ -175,7 +164,6 @@ event_base_new(void)
if ((base = calloc(1, sizeof(struct event_base))) == NULL)
event_err(1, "%s: calloc", __func__);
- detect_monotonic();
gettime(base, &base->event_tv);
min_heap_ctor(&base->timeheap);
diff --git a/third_party/libevent/libevent.target.darwin-arm.mk b/third_party/libevent/libevent.target.darwin-arm.mk
index 7bdeff5f41..0ac5cd998a 100644
--- a/third_party/libevent/libevent.target.darwin-arm.mk
+++ b/third_party/libevent/libevent.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -240,9 +241,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libevent/libevent.target.darwin-mips.mk b/third_party/libevent/libevent.target.darwin-mips.mk
index 4c3c96bfbf..de538e9281 100644
--- a/third_party/libevent/libevent.target.darwin-mips.mk
+++ b/third_party/libevent/libevent.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libevent/libevent.target.darwin-x86.mk b/third_party/libevent/libevent.target.darwin-x86.mk
index 1bc7101b13..dd6a649fe9 100644
--- a/third_party/libevent/libevent.target.darwin-x86.mk
+++ b/third_party/libevent/libevent.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libevent/libevent.target.darwin-x86_64.mk b/third_party/libevent/libevent.target.darwin-x86_64.mk
index efd7ceabfa..dcf1496220 100644
--- a/third_party/libevent/libevent.target.darwin-x86_64.mk
+++ b/third_party/libevent/libevent.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libevent/libevent.target.linux-arm.mk b/third_party/libevent/libevent.target.linux-arm.mk
index 7bdeff5f41..0ac5cd998a 100644
--- a/third_party/libevent/libevent.target.linux-arm.mk
+++ b/third_party/libevent/libevent.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -240,9 +241,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libevent/libevent.target.linux-mips.mk b/third_party/libevent/libevent.target.linux-mips.mk
index 4c3c96bfbf..de538e9281 100644
--- a/third_party/libevent/libevent.target.linux-mips.mk
+++ b/third_party/libevent/libevent.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libevent/libevent.target.linux-x86.mk b/third_party/libevent/libevent.target.linux-x86.mk
index 1bc7101b13..dd6a649fe9 100644
--- a/third_party/libevent/libevent.target.linux-x86.mk
+++ b/third_party/libevent/libevent.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libevent/libevent.target.linux-x86_64.mk b/third_party/libevent/libevent.target.linux-x86_64.mk
index efd7ceabfa..dcf1496220 100644
--- a/third_party/libevent/libevent.target.linux-x86_64.mk
+++ b/third_party/libevent/libevent.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libevent_libevent_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -221,9 +222,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle.target.darwin-arm.mk b/third_party/libjingle/libjingle.target.darwin-arm.mk
index 24e6458216..993f87a5ed 100644
--- a/third_party/libjingle/libjingle.target.darwin-arm.mk
+++ b/third_party/libjingle/libjingle.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -384,9 +385,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -403,9 +404,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle.target.darwin-mips.mk b/third_party/libjingle/libjingle.target.darwin-mips.mk
index ade94e9725..03f1c39a50 100644
--- a/third_party/libjingle/libjingle.target.darwin-mips.mk
+++ b/third_party/libjingle/libjingle.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -384,9 +385,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -401,9 +402,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle.target.darwin-x86.mk b/third_party/libjingle/libjingle.target.darwin-x86.mk
index b5b7402cda..e7c93425bf 100644
--- a/third_party/libjingle/libjingle.target.darwin-x86.mk
+++ b/third_party/libjingle/libjingle.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -382,9 +383,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -399,9 +400,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle.target.darwin-x86_64.mk b/third_party/libjingle/libjingle.target.darwin-x86_64.mk
index fa5b7d4ba9..63990c05fb 100644
--- a/third_party/libjingle/libjingle.target.darwin-x86_64.mk
+++ b/third_party/libjingle/libjingle.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -386,9 +387,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -403,9 +404,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle.target.linux-arm.mk b/third_party/libjingle/libjingle.target.linux-arm.mk
index 24e6458216..993f87a5ed 100644
--- a/third_party/libjingle/libjingle.target.linux-arm.mk
+++ b/third_party/libjingle/libjingle.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -384,9 +385,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -403,9 +404,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle.target.linux-mips.mk b/third_party/libjingle/libjingle.target.linux-mips.mk
index ade94e9725..03f1c39a50 100644
--- a/third_party/libjingle/libjingle.target.linux-mips.mk
+++ b/third_party/libjingle/libjingle.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -384,9 +385,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -401,9 +402,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle.target.linux-x86.mk b/third_party/libjingle/libjingle.target.linux-x86.mk
index b5b7402cda..e7c93425bf 100644
--- a/third_party/libjingle/libjingle.target.linux-x86.mk
+++ b/third_party/libjingle/libjingle.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -382,9 +383,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -399,9 +400,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle.target.linux-x86_64.mk b/third_party/libjingle/libjingle.target.linux-x86_64.mk
index fa5b7d4ba9..63990c05fb 100644
--- a/third_party/libjingle/libjingle.target.linux-x86_64.mk
+++ b/third_party/libjingle/libjingle.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -386,9 +387,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -403,9 +404,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.darwin-arm.mk b/third_party/libjingle/libjingle_p2p_constants.target.darwin-arm.mk
index 1d7fd204ca..62e6f11add 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.darwin-arm.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -266,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -285,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.darwin-mips.mk b/third_party/libjingle/libjingle_p2p_constants.target.darwin-mips.mk
index d6cae88c66..fa094fbe01 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.darwin-mips.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -266,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -283,9 +284,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86.mk b/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86.mk
index 2540ae83c4..ebb0f094c3 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -264,9 +265,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -281,9 +282,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86_64.mk b/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86_64.mk
index f507e8b110..ef08fb7d67 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86_64.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -268,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -285,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.linux-arm.mk b/third_party/libjingle/libjingle_p2p_constants.target.linux-arm.mk
index 1d7fd204ca..62e6f11add 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.linux-arm.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -266,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -285,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.linux-mips.mk b/third_party/libjingle/libjingle_p2p_constants.target.linux-mips.mk
index d6cae88c66..fa094fbe01 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.linux-mips.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -266,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -283,9 +284,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.linux-x86.mk b/third_party/libjingle/libjingle_p2p_constants.target.linux-x86.mk
index 2540ae83c4..ebb0f094c3 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.linux-x86.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -264,9 +265,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -281,9 +282,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle_p2p_constants.target.linux-x86_64.mk b/third_party/libjingle/libjingle_p2p_constants.target.linux-x86_64.mk
index f507e8b110..ef08fb7d67 100644
--- a/third_party/libjingle/libjingle_p2p_constants.target.linux-x86_64.mk
+++ b/third_party/libjingle/libjingle_p2p_constants.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_p2p_constants_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -268,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -285,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle_webrtc.target.darwin-arm.mk b/third_party/libjingle/libjingle_webrtc.target.darwin-arm.mk
index 3d373deff0..62fdca553b 100644
--- a/third_party/libjingle/libjingle_webrtc.target.darwin-arm.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -268,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -287,9 +288,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle_webrtc.target.darwin-mips.mk b/third_party/libjingle/libjingle_webrtc.target.darwin-mips.mk
index 636a74624d..b0e993d585 100644
--- a/third_party/libjingle/libjingle_webrtc.target.darwin-mips.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -268,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -285,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle_webrtc.target.darwin-x86.mk b/third_party/libjingle/libjingle_webrtc.target.darwin-x86.mk
index 36ceed6418..68c1e33cec 100644
--- a/third_party/libjingle/libjingle_webrtc.target.darwin-x86.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -266,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -283,9 +284,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle_webrtc.target.darwin-x86_64.mk b/third_party/libjingle/libjingle_webrtc.target.darwin-x86_64.mk
index 5296c7b400..cbb6935a54 100644
--- a/third_party/libjingle/libjingle_webrtc.target.darwin-x86_64.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -270,9 +271,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -287,9 +288,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle_webrtc.target.linux-arm.mk b/third_party/libjingle/libjingle_webrtc.target.linux-arm.mk
index 3d373deff0..62fdca553b 100644
--- a/third_party/libjingle/libjingle_webrtc.target.linux-arm.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -268,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -287,9 +288,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle_webrtc.target.linux-mips.mk b/third_party/libjingle/libjingle_webrtc.target.linux-mips.mk
index 636a74624d..b0e993d585 100644
--- a/third_party/libjingle/libjingle_webrtc.target.linux-mips.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -268,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -285,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle_webrtc.target.linux-x86.mk b/third_party/libjingle/libjingle_webrtc.target.linux-x86.mk
index 36ceed6418..68c1e33cec 100644
--- a/third_party/libjingle/libjingle_webrtc.target.linux-x86.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -266,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -283,9 +284,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle_webrtc.target.linux-x86_64.mk b/third_party/libjingle/libjingle_webrtc.target.linux-x86_64.mk
index 5296c7b400..cbb6935a54 100644
--- a/third_party/libjingle/libjingle_webrtc.target.linux-x86_64.mk
+++ b/third_party/libjingle/libjingle_webrtc.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -270,9 +271,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -287,9 +288,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.darwin-arm.mk b/third_party/libjingle/libjingle_webrtc_common.target.darwin-arm.mk
index 87bf66e1c2..2e9889dddf 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.darwin-arm.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -377,9 +378,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -396,9 +397,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.darwin-mips.mk b/third_party/libjingle/libjingle_webrtc_common.target.darwin-mips.mk
index 2617a393f3..8153cd6d53 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.darwin-mips.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -379,9 +380,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -396,9 +397,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86.mk b/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86.mk
index 0bdf98fda6..0a52b25548 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -377,9 +378,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -394,9 +395,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86_64.mk b/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86_64.mk
index a9b90e5985..21e5bc5314 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86_64.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -381,9 +382,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -398,9 +399,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.linux-arm.mk b/third_party/libjingle/libjingle_webrtc_common.target.linux-arm.mk
index 87bf66e1c2..2e9889dddf 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.linux-arm.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -377,9 +378,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -396,9 +397,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.linux-mips.mk b/third_party/libjingle/libjingle_webrtc_common.target.linux-mips.mk
index 2617a393f3..8153cd6d53 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.linux-mips.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -379,9 +380,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -396,9 +397,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.linux-x86.mk b/third_party/libjingle/libjingle_webrtc_common.target.linux-x86.mk
index 0bdf98fda6..0a52b25548 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.linux-x86.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -377,9 +378,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -394,9 +395,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libjingle_webrtc_common.target.linux-x86_64.mk b/third_party/libjingle/libjingle_webrtc_common.target.linux-x86_64.mk
index a9b90e5985..21e5bc5314 100644
--- a/third_party/libjingle/libjingle_webrtc_common.target.linux-x86_64.mk
+++ b/third_party/libjingle/libjingle_webrtc_common.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libjingle_webrtc_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -381,9 +382,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -398,9 +399,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libpeerconnection.target.darwin-arm.mk b/third_party/libjingle/libpeerconnection.target.darwin-arm.mk
index 6b4ca30b25..8aab7b6c8e 100644
--- a/third_party/libjingle/libpeerconnection.target.darwin-arm.mk
+++ b/third_party/libjingle/libpeerconnection.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -281,9 +282,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -300,9 +301,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libpeerconnection.target.darwin-mips.mk b/third_party/libjingle/libpeerconnection.target.darwin-mips.mk
index 0b44cd96a8..7cce282ca2 100644
--- a/third_party/libjingle/libpeerconnection.target.darwin-mips.mk
+++ b/third_party/libjingle/libpeerconnection.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -281,9 +282,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -298,9 +299,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libpeerconnection.target.darwin-x86.mk b/third_party/libjingle/libpeerconnection.target.darwin-x86.mk
index 1e18357650..be24d0585f 100644
--- a/third_party/libjingle/libpeerconnection.target.darwin-x86.mk
+++ b/third_party/libjingle/libpeerconnection.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -279,9 +280,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -296,9 +297,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libpeerconnection.target.darwin-x86_64.mk b/third_party/libjingle/libpeerconnection.target.darwin-x86_64.mk
index fb7c015339..cc6121f39e 100644
--- a/third_party/libjingle/libpeerconnection.target.darwin-x86_64.mk
+++ b/third_party/libjingle/libpeerconnection.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -283,9 +284,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -300,9 +301,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/libpeerconnection.target.linux-arm.mk b/third_party/libjingle/libpeerconnection.target.linux-arm.mk
index 6b4ca30b25..8aab7b6c8e 100644
--- a/third_party/libjingle/libpeerconnection.target.linux-arm.mk
+++ b/third_party/libjingle/libpeerconnection.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -281,9 +282,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -300,9 +301,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libjingle/libpeerconnection.target.linux-mips.mk b/third_party/libjingle/libpeerconnection.target.linux-mips.mk
index 0b44cd96a8..7cce282ca2 100644
--- a/third_party/libjingle/libpeerconnection.target.linux-mips.mk
+++ b/third_party/libjingle/libpeerconnection.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -281,9 +282,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -298,9 +299,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libjingle/libpeerconnection.target.linux-x86.mk b/third_party/libjingle/libpeerconnection.target.linux-x86.mk
index 1e18357650..be24d0585f 100644
--- a/third_party/libjingle/libpeerconnection.target.linux-x86.mk
+++ b/third_party/libjingle/libpeerconnection.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -279,9 +280,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -296,9 +297,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libjingle/libpeerconnection.target.linux-x86_64.mk b/third_party/libjingle/libpeerconnection.target.linux-x86_64.mk
index fb7c015339..cc6121f39e 100644
--- a/third_party/libjingle/libpeerconnection.target.linux-x86_64.mk
+++ b/third_party/libjingle/libpeerconnection.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libjingle_libpeerconnection_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp)/expat.stamp
+ $(call intermediates-dir-for,GYP,third_party_expat_expat_gyp,,,$(GYP_VAR_PREFIX))/expat.stamp
GYP_GENERATED_OUTPUTS :=
@@ -283,9 +284,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -300,9 +301,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libjingle/overrides/talk/base/logging.cc b/third_party/libjingle/overrides/talk/base/logging.cc
index 3e471817d7..8553de863d 100644
--- a/third_party/libjingle/overrides/talk/base/logging.cc
+++ b/third_party/libjingle/overrides/talk/base/logging.cc
@@ -132,7 +132,6 @@ DiagnosticLogMessage::DiagnosticLogMessage(const char* file,
severity_(severity),
log_to_chrome_(log_to_chrome) {
extra_ = GenerateExtra(err_ctx, err, NULL);
- CreateTimestamp();
}
DiagnosticLogMessage::DiagnosticLogMessage(const char* file,
@@ -147,7 +146,6 @@ DiagnosticLogMessage::DiagnosticLogMessage(const char* file,
severity_(severity),
log_to_chrome_(log_to_chrome) {
extra_ = GenerateExtra(err_ctx, err, module);
- CreateTimestamp();
}
DiagnosticLogMessage::~DiagnosticLogMessage() {
@@ -156,22 +154,10 @@ DiagnosticLogMessage::~DiagnosticLogMessage() {
if (log_to_chrome_)
LOG_LAZY_STREAM_DIRECT(file_name_, line_, severity_) << str;
if (g_logging_delegate_function && severity_ <= LS_INFO) {
- print_stream_with_timestamp_ << str;
- g_logging_delegate_function(print_stream_with_timestamp_.str());
+ g_logging_delegate_function(str);
}
}
-void DiagnosticLogMessage::CreateTimestamp() {
-#if !defined(ANDROID)
- static const uint32 g_logging_start_time = talk_base::Time();
- uint32 time = talk_base::TimeSince(g_logging_start_time);
- print_stream_with_timestamp_ << "[" << std::setfill('0')
- << std::setw(3) << (time / 1000)
- << ":" << std::setw(3) << (time % 1000)
- << std::setfill(' ') << "] ";
-#endif
-}
-
// Note: this function is a copy from the overriden libjingle implementation.
void LogMultiline(LoggingSeverity level, const char* label, bool input,
const void* data, size_t len, bool hex_mode,
diff --git a/third_party/libjingle/overrides/talk/base/logging.h b/third_party/libjingle/overrides/talk/base/logging.h
index a474985ce7..b3e0c8d862 100644
--- a/third_party/libjingle/overrides/talk/base/logging.h
+++ b/third_party/libjingle/overrides/talk/base/logging.h
@@ -119,7 +119,6 @@ class DiagnosticLogMessage {
std::string extra_;
std::ostringstream print_stream_;
- std::ostringstream print_stream_with_timestamp_;
};
// This class is used to explicitly ignore values in the conditional
diff --git a/third_party/libjpeg/libjpeg.target.darwin-arm.mk b/third_party/libjpeg/libjpeg.target.darwin-arm.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.darwin-arm.mk
+++ b/third_party/libjpeg/libjpeg.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.darwin-mips.mk b/third_party/libjpeg/libjpeg.target.darwin-mips.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.darwin-mips.mk
+++ b/third_party/libjpeg/libjpeg.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.darwin-x86.mk b/third_party/libjpeg/libjpeg.target.darwin-x86.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.darwin-x86.mk
+++ b/third_party/libjpeg/libjpeg.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.darwin-x86_64.mk b/third_party/libjpeg/libjpeg.target.darwin-x86_64.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.darwin-x86_64.mk
+++ b/third_party/libjpeg/libjpeg.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.linux-arm.mk b/third_party/libjpeg/libjpeg.target.linux-arm.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.linux-arm.mk
+++ b/third_party/libjpeg/libjpeg.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.linux-mips.mk b/third_party/libjpeg/libjpeg.target.linux-mips.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.linux-mips.mk
+++ b/third_party/libjpeg/libjpeg.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.linux-x86.mk b/third_party/libjpeg/libjpeg.target.linux-x86.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.linux-x86.mk
+++ b/third_party/libjpeg/libjpeg.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libjpeg/libjpeg.target.linux-x86_64.mk b/third_party/libjpeg/libjpeg.target.linux-x86_64.mk
index 7c76dfc8e8..ea7cce7d25 100644
--- a/third_party/libjpeg/libjpeg.target.linux-x86_64.mk
+++ b/third_party/libjpeg/libjpeg.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_STEM := libjpeg
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libjpeg: third_party_libjpeg_libjpeg_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libphonenumber/libphonenumber.target.darwin-arm.mk b/third_party/libphonenumber/libphonenumber.target.darwin-arm.mk
index ac5ef02e6d..ef8dc367f8 100644
--- a/third_party/libphonenumber/libphonenumber.target.darwin-arm.mk
+++ b/third_party/libphonenumber/libphonenumber.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -251,9 +252,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libphonenumber/libphonenumber.target.darwin-mips.mk b/third_party/libphonenumber/libphonenumber.target.darwin-mips.mk
index 24bf597c2b..e8336894c1 100644
--- a/third_party/libphonenumber/libphonenumber.target.darwin-mips.mk
+++ b/third_party/libphonenumber/libphonenumber.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -249,9 +250,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libphonenumber/libphonenumber.target.darwin-x86.mk b/third_party/libphonenumber/libphonenumber.target.darwin-x86.mk
index bedd5d0733..0bea4429d3 100644
--- a/third_party/libphonenumber/libphonenumber.target.darwin-x86.mk
+++ b/third_party/libphonenumber/libphonenumber.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -249,9 +250,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libphonenumber/libphonenumber.target.darwin-x86_64.mk b/third_party/libphonenumber/libphonenumber.target.darwin-x86_64.mk
index ca11ad0b67..c20fe0e133 100644
--- a/third_party/libphonenumber/libphonenumber.target.darwin-x86_64.mk
+++ b/third_party/libphonenumber/libphonenumber.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -249,9 +250,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libphonenumber/libphonenumber.target.linux-arm.mk b/third_party/libphonenumber/libphonenumber.target.linux-arm.mk
index ac5ef02e6d..ef8dc367f8 100644
--- a/third_party/libphonenumber/libphonenumber.target.linux-arm.mk
+++ b/third_party/libphonenumber/libphonenumber.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -251,9 +252,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libphonenumber/libphonenumber.target.linux-mips.mk b/third_party/libphonenumber/libphonenumber.target.linux-mips.mk
index 24bf597c2b..e8336894c1 100644
--- a/third_party/libphonenumber/libphonenumber.target.linux-mips.mk
+++ b/third_party/libphonenumber/libphonenumber.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -249,9 +250,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libphonenumber/libphonenumber.target.linux-x86.mk b/third_party/libphonenumber/libphonenumber.target.linux-x86.mk
index bedd5d0733..0bea4429d3 100644
--- a/third_party/libphonenumber/libphonenumber.target.linux-x86.mk
+++ b/third_party/libphonenumber/libphonenumber.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -249,9 +250,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libphonenumber/libphonenumber.target.linux-x86_64.mk b/third_party/libphonenumber/libphonenumber.target.linux-x86_64.mk
index ca11ad0b67..c20fe0e133 100644
--- a/third_party/libphonenumber/libphonenumber.target.linux-x86_64.mk
+++ b/third_party/libphonenumber/libphonenumber.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp)/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libphonenumber_libphonenumber_without_metadata_gyp,,,$(GYP_VAR_PREFIX))/third_party_libphonenumber_libphonenumber_without_metadata_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -232,9 +233,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -249,9 +250,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-arm.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-arm.mk
index 15fe2729ca..6fbab6d2fb 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-arm.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-arm.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -321,9 +316,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-mips.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-mips.mk
index 85c4b6b08b..f633e6753d 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-mips.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-mips.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -319,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86.mk
index b4f13ef4e9..ce83b5f5b1 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -319,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86_64.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86_64.mk
index 2951fa80af..4a2f08fdd6 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86_64.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.darwin-x86_64.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -319,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-arm.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-arm.mk
index 15fe2729ca..6fbab6d2fb 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-arm.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-arm.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -321,9 +316,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-mips.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-mips.mk
index 85c4b6b08b..f633e6753d 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-mips.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-mips.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -319,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86.mk
index b4f13ef4e9..ce83b5f5b1 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -319,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86_64.mk b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86_64.mk
index 2951fa80af..4a2f08fdd6 100644
--- a/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86_64.mk
+++ b/third_party/libphonenumber/libphonenumber_without_metadata.target.linux-x86_64.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libphonenumber_libphonenumber_without_metadata_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp \
$(gyp_shared_intermediate_dir)/protoc
@@ -27,8 +28,6 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -39,10 +38,7 @@ $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/p
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py ;
-.PHONY: third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
-third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
@@ -66,8 +62,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonemetadata_pb2.py \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonemetadata.pb.h \
$(gyp_shared_intermediate_dir)/pyproto/third_party/libphonenumber/phonenumbers/phonenumber_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h \
- third_party_libphonenumber_libphonenumber_without_metadata_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers/phonenumber.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/third_party/libphonenumber/phonenumbers
@@ -302,9 +297,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -319,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libpng/libpng.target.darwin-arm.mk b/third_party/libpng/libpng.target.darwin-arm.mk
index 3a0f2d659c..bf75522d96 100644
--- a/third_party/libpng/libpng.target.darwin-arm.mk
+++ b/third_party/libpng/libpng.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -247,9 +248,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libpng/libpng.target.darwin-mips.mk b/third_party/libpng/libpng.target.darwin-mips.mk
index 8fd9a39d7b..6b52572110 100644
--- a/third_party/libpng/libpng.target.darwin-mips.mk
+++ b/third_party/libpng/libpng.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -245,9 +246,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libpng/libpng.target.darwin-x86.mk b/third_party/libpng/libpng.target.darwin-x86.mk
index 1c0772f02a..4a8a9eda77 100644
--- a/third_party/libpng/libpng.target.darwin-x86.mk
+++ b/third_party/libpng/libpng.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -245,9 +246,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libpng/libpng.target.darwin-x86_64.mk b/third_party/libpng/libpng.target.darwin-x86_64.mk
index f678ff4dea..b2f36554f4 100644
--- a/third_party/libpng/libpng.target.darwin-x86_64.mk
+++ b/third_party/libpng/libpng.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -245,9 +246,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libpng/libpng.target.linux-arm.mk b/third_party/libpng/libpng.target.linux-arm.mk
index 3a0f2d659c..bf75522d96 100644
--- a/third_party/libpng/libpng.target.linux-arm.mk
+++ b/third_party/libpng/libpng.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -247,9 +248,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libpng/libpng.target.linux-mips.mk b/third_party/libpng/libpng.target.linux-mips.mk
index 8fd9a39d7b..6b52572110 100644
--- a/third_party/libpng/libpng.target.linux-mips.mk
+++ b/third_party/libpng/libpng.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -245,9 +246,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libpng/libpng.target.linux-x86.mk b/third_party/libpng/libpng.target.linux-x86.mk
index 1c0772f02a..4a8a9eda77 100644
--- a/third_party/libpng/libpng.target.linux-x86.mk
+++ b/third_party/libpng/libpng.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -245,9 +246,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libpng/libpng.target.linux-x86_64.mk b/third_party/libpng/libpng.target.linux-x86_64.mk
index f678ff4dea..b2f36554f4 100644
--- a/third_party/libpng/libpng.target.linux-x86_64.mk
+++ b/third_party/libpng/libpng.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libpng_libpng_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -228,9 +229,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -245,9 +246,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libusb/BUILD.gn b/third_party/libusb/BUILD.gn
new file mode 100644
index 0000000000..837e53c213
--- /dev/null
+++ b/third_party/libusb/BUILD.gn
@@ -0,0 +1,109 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+config("libusb_config") {
+ include_dirs = [
+ "src/libusb",
+ ]
+}
+
+static_library("libusb") {
+ sources = [
+ "src/config.h",
+ "src/libusb/core.c",
+ "src/libusb/descriptor.c",
+ "src/libusb/hotplug.c",
+ "src/libusb/hotplug.h",
+ "src/libusb/interrupt.c",
+ "src/libusb/interrupt.h",
+ "src/libusb/io.c",
+ "src/libusb/libusb.h",
+ "src/libusb/libusbi.h",
+ "src/libusb/os/darwin_usb.c",
+ "src/libusb/os/darwin_usb.h",
+ "src/libusb/os/linux_udev.c",
+ "src/libusb/os/linux_usbfs.c",
+ "src/libusb/os/linux_usbfs.h",
+ "src/libusb/os/poll_posix.c",
+ "src/libusb/os/poll_posix.h",
+ "src/libusb/os/poll_windows.c",
+ "src/libusb/os/poll_windows.h",
+ "src/libusb/os/threads_posix.c",
+ "src/libusb/os/threads_posix.h",
+ "src/libusb/os/threads_windows.c",
+ "src/libusb/os/threads_windows.h",
+ "src/libusb/os/windows_common.h",
+ "src/libusb/os/windows_usb.c",
+ "src/libusb/os/windows_usb.h",
+ "src/libusb/sync.c",
+ "src/libusb/version.h",
+ "src/libusb/version_nano.h",
+ "src/msvc/config.h",
+ "src/msvc/inttypes.h",
+ "src/msvc/stdint.h",
+ ]
+ include_dirs = [
+ "src/libusb/os",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+
+ direct_dependent_configs = [ ":libusb_config" ]
+
+ if (is_posix) {
+ defines = [
+ "DEFAULT_VISIBILITY=",
+ "HAVE_GETTIMEOFDAY=1",
+ "HAVE_POLL_H=1",
+ "HAVE_SYS_TIME_H=1",
+ "LIBUSB_DESCRIBE=\"1.0.16\"",
+ "POLL_NFDS_TYPE=nfds_t",
+ "THREADS_POSIX=1",
+ ]
+ }
+
+ if (is_mac) {
+ defines += [ "OS_DARWIN=1" ]
+ } else {
+ sources -= [
+ "src/libusb/os/darwin_usb.c",
+ "src/libusb/os/darwin_usb.h",
+ ]
+ }
+
+ if (is_linux || is_android) {
+ defines += [
+ "HAVE_LIBUDEV=1",
+ "OS_LINUX=1",
+ "USE_UDEV=1",
+ "_GNU_SOURCE=1",
+ ]
+ configs += [ "//build/config/linux:udev" ]
+ } else {
+ sources -= [
+ "src/libusb/os/linux_udev.c",
+ "src/libusb/os/linux_usbfs.c",
+ "src/libusb/os/linux_usbfs.h",
+ ]
+ }
+
+ if (is_win) {
+ include_dirs += [ "src/msvc" ]
+ } else {
+ include_dirs += [ "src" ]
+ sources -= [
+ "src/libusb/os/poll_windows.c",
+ "src/libusb/os/poll_windows.h",
+ "src/libusb/os/threads_windows.c",
+ "src/libusb/os/threads_windows.h",
+ "src/libusb/os/windows_common.h",
+ "src/libusb/os/windows_usb.c",
+ "src/libusb/os/windows_usb.h",
+ "src/msvc/config.h",
+ "src/msvc/inttypes.h",
+ "src/msvc/stdint.h",
+ ]
+ }
+}
diff --git a/third_party/libwebp/README.chromium b/third_party/libwebp/README.chromium
index 09124f66bf..b994f801d1 100644
--- a/third_party/libwebp/README.chromium
+++ b/third_party/libwebp/README.chromium
@@ -23,3 +23,4 @@ Local changes:
Cherry-picks:
Revert patch f7fc4bc: dec/webp.c: don't wait for data before reporting w/h
c1cb193 disable NEON for arm64 platform
+ 207d03b fix out-of-bound read during alpha-plane decoding
diff --git a/third_party/libwebp/dec/vp8l.c b/third_party/libwebp/dec/vp8l.c
index ea0254d7a8..30869be663 100644
--- a/third_party/libwebp/dec/vp8l.c
+++ b/third_party/libwebp/dec/vp8l.c
@@ -12,8 +12,8 @@
// Authors: Vikas Arora (vikaas.arora@gmail.com)
// Jyrki Alakuijala (jyrki@google.com)
-#include <stdio.h>
#include <stdlib.h>
+
#include "./alphai.h"
#include "./vp8li.h"
#include "../dsp/lossless.h"
@@ -740,6 +740,7 @@ static int DecodeAlphaData(VP8LDecoder* const dec, uint8_t* const data,
const int len_code_limit = NUM_LITERAL_CODES + NUM_LENGTH_CODES;
const int mask = hdr->huffman_mask_;
assert(htree_group != NULL);
+ assert(pos < end);
assert(last_row <= height);
assert(Is8bOptimizable(hdr));
@@ -830,6 +831,7 @@ static int DecodeImageData(VP8LDecoder* const dec, uint32_t* const data,
(hdr->color_cache_size_ > 0) ? &hdr->color_cache_ : NULL;
const int mask = hdr->huffman_mask_;
assert(htree_group != NULL);
+ assert(src < src_end);
assert(src_last <= src_end);
while (!br->eos_ && src < src_last) {
@@ -1294,6 +1296,10 @@ int VP8LDecodeAlphaImageStream(ALPHDecoder* const alph_dec, int last_row) {
assert(dec->action_ == READ_DATA);
assert(last_row <= dec->height_);
+ if (dec->last_pixel_ == dec->width_ * dec->height_) {
+ return 1; // done
+ }
+
// Decode (with special row processing).
return alph_dec->use_8b_decode ?
DecodeAlphaData(dec, (uint8_t*)dec->pixels_, dec->width_, dec->height_,
diff --git a/third_party/libwebp/libwebp.target.darwin-arm.mk b/third_party/libwebp/libwebp.target.darwin-arm.mk
index 7e891ddfff..785afa75f8 100644
--- a/third_party/libwebp/libwebp.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp.target.darwin-arm.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_neon_gyp)/third_party_libwebp_libwebp_dsp_neon_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_neon_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.darwin-mips.mk b/third_party/libwebp/libwebp.target.darwin-mips.mk
index 2a4d2a9510..1b68188772 100644
--- a/third_party/libwebp/libwebp.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp.target.darwin-mips.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.darwin-x86.mk b/third_party/libwebp/libwebp.target.darwin-x86.mk
index 2a4d2a9510..1b68188772 100644
--- a/third_party/libwebp/libwebp.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp.target.darwin-x86.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.darwin-x86_64.mk b/third_party/libwebp/libwebp.target.darwin-x86_64.mk
index 2a4d2a9510..1b68188772 100644
--- a/third_party/libwebp/libwebp.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp.target.darwin-x86_64.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.linux-arm.mk b/third_party/libwebp/libwebp.target.linux-arm.mk
index 7e891ddfff..785afa75f8 100644
--- a/third_party/libwebp/libwebp.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp.target.linux-arm.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_neon_gyp)/third_party_libwebp_libwebp_dsp_neon_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_neon_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.linux-mips.mk b/third_party/libwebp/libwebp.target.linux-mips.mk
index 2a4d2a9510..1b68188772 100644
--- a/third_party/libwebp/libwebp.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp.target.linux-mips.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.linux-x86.mk b/third_party/libwebp/libwebp.target.linux-x86.mk
index 2a4d2a9510..1b68188772 100644
--- a/third_party/libwebp/libwebp.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp.target.linux-x86.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp.target.linux-x86_64.mk b/third_party/libwebp/libwebp.target.linux-x86_64.mk
index 2a4d2a9510..1b68188772 100644
--- a/third_party/libwebp/libwebp.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp.target.linux-x86_64.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := third_party_libwebp_libwebp_gyp
LOCAL_MODULE_STEM := webp
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp)/third_party_libwebp_libwebp_dec_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp)/third_party_libwebp_libwebp_demux_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp)/third_party_libwebp_libwebp_dsp_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp)/third_party_libwebp_libwebp_enc_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp)/third_party_libwebp_libwebp_utils_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dec_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dec_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_demux_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_demux_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_dsp_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_dsp_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_enc_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_enc_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_libwebp_libwebp_utils_gyp,,,$(GYP_VAR_PREFIX))/third_party_libwebp_libwebp_utils_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -35,6 +36,7 @@ libwebp: third_party_libwebp_libwebp_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -42,3 +44,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_dec.target.darwin-arm.mk b/third_party/libwebp/libwebp_dec.target.darwin-arm.mk
index dbaa48bb0b..afa4c5ba46 100644
--- a/third_party/libwebp/libwebp_dec.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp_dec.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -216,9 +217,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_dec.target.darwin-mips.mk b/third_party/libwebp/libwebp_dec.target.darwin-mips.mk
index 420746a53d..0c76c96391 100644
--- a/third_party/libwebp/libwebp_dec.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp_dec.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp
GYP_GENERATED_OUTPUTS :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_dec.target.darwin-x86.mk b/third_party/libwebp/libwebp_dec.target.darwin-x86.mk
index eacd32049e..1fce2df9e3 100644
--- a/third_party/libwebp/libwebp_dec.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp_dec.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp
GYP_GENERATED_OUTPUTS :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_dec.target.darwin-x86_64.mk b/third_party/libwebp/libwebp_dec.target.darwin-x86_64.mk
index dd79b04859..9dce3cf01f 100644
--- a/third_party/libwebp/libwebp_dec.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp_dec.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp
GYP_GENERATED_OUTPUTS :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_dec.target.linux-arm.mk b/third_party/libwebp/libwebp_dec.target.linux-arm.mk
index dbaa48bb0b..afa4c5ba46 100644
--- a/third_party/libwebp/libwebp_dec.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp_dec.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -216,9 +217,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_dec.target.linux-mips.mk b/third_party/libwebp/libwebp_dec.target.linux-mips.mk
index 420746a53d..0c76c96391 100644
--- a/third_party/libwebp/libwebp_dec.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp_dec.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp
GYP_GENERATED_OUTPUTS :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_dec.target.linux-x86.mk b/third_party/libwebp/libwebp_dec.target.linux-x86.mk
index eacd32049e..1fce2df9e3 100644
--- a/third_party/libwebp/libwebp_dec.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp_dec.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp
GYP_GENERATED_OUTPUTS :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_dec.target.linux-x86_64.mk b/third_party/libwebp/libwebp_dec.target.linux-x86_64.mk
index dd79b04859..9dce3cf01f 100644
--- a/third_party/libwebp/libwebp_dec.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp_dec.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dec_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp)/libwebp_dsp_neon.stamp
+ $(call intermediates-dir-for,GYP,third_party_libwebp_libwebp_dsp_neon_gyp,,,$(GYP_VAR_PREFIX))/libwebp_dsp_neon.stamp
GYP_GENERATED_OUTPUTS :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_demux.target.darwin-arm.mk b/third_party/libwebp/libwebp_demux.target.darwin-arm.mk
index e5022b2b57..64e84ef1dd 100644
--- a/third_party/libwebp/libwebp_demux.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp_demux.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -225,9 +226,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_demux.target.darwin-mips.mk b/third_party/libwebp/libwebp_demux.target.darwin-mips.mk
index 205355e333..2579e8bf16 100644
--- a/third_party/libwebp/libwebp_demux.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp_demux.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_demux.target.darwin-x86.mk b/third_party/libwebp/libwebp_demux.target.darwin-x86.mk
index 13231d6794..73d5e5aec3 100644
--- a/third_party/libwebp/libwebp_demux.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp_demux.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_demux.target.darwin-x86_64.mk b/third_party/libwebp/libwebp_demux.target.darwin-x86_64.mk
index 61424e59a1..3d81096efb 100644
--- a/third_party/libwebp/libwebp_demux.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp_demux.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_demux.target.linux-arm.mk b/third_party/libwebp/libwebp_demux.target.linux-arm.mk
index e5022b2b57..64e84ef1dd 100644
--- a/third_party/libwebp/libwebp_demux.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp_demux.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -225,9 +226,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_demux.target.linux-mips.mk b/third_party/libwebp/libwebp_demux.target.linux-mips.mk
index 205355e333..2579e8bf16 100644
--- a/third_party/libwebp/libwebp_demux.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp_demux.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_demux.target.linux-x86.mk b/third_party/libwebp/libwebp_demux.target.linux-x86.mk
index 13231d6794..73d5e5aec3 100644
--- a/third_party/libwebp/libwebp_demux.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp_demux.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_demux.target.linux-x86_64.mk b/third_party/libwebp/libwebp_demux.target.linux-x86_64.mk
index 61424e59a1..3d81096efb 100644
--- a/third_party/libwebp/libwebp_demux.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp_demux.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_demux_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -206,9 +207,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_dsp.target.darwin-arm.mk b/third_party/libwebp/libwebp_dsp.target.darwin-arm.mk
index bb9c92b964..913d1d80c5 100644
--- a/third_party/libwebp/libwebp_dsp.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp_dsp.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -233,9 +234,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_dsp.target.darwin-mips.mk b/third_party/libwebp/libwebp_dsp.target.darwin-mips.mk
index d5a08af4bc..be4feffddb 100644
--- a/third_party/libwebp/libwebp_dsp.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp_dsp.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_dsp.target.darwin-x86.mk b/third_party/libwebp/libwebp_dsp.target.darwin-x86.mk
index 0de7292100..3cce003fcc 100644
--- a/third_party/libwebp/libwebp_dsp.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp_dsp.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_dsp.target.darwin-x86_64.mk b/third_party/libwebp/libwebp_dsp.target.darwin-x86_64.mk
index fd95703d41..ec6829730c 100644
--- a/third_party/libwebp/libwebp_dsp.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp_dsp.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_dsp.target.linux-arm.mk b/third_party/libwebp/libwebp_dsp.target.linux-arm.mk
index bb9c92b964..913d1d80c5 100644
--- a/third_party/libwebp/libwebp_dsp.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp_dsp.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -233,9 +234,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_dsp.target.linux-mips.mk b/third_party/libwebp/libwebp_dsp.target.linux-mips.mk
index d5a08af4bc..be4feffddb 100644
--- a/third_party/libwebp/libwebp_dsp.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp_dsp.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_dsp.target.linux-x86.mk b/third_party/libwebp/libwebp_dsp.target.linux-x86.mk
index 0de7292100..3cce003fcc 100644
--- a/third_party/libwebp/libwebp_dsp.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp_dsp.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_dsp.target.linux-x86_64.mk b/third_party/libwebp/libwebp_dsp.target.linux-x86_64.mk
index fd95703d41..ec6829730c 100644
--- a/third_party/libwebp/libwebp_dsp.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp_dsp.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -214,9 +215,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.darwin-arm.mk b/third_party/libwebp/libwebp_dsp_neon.target.darwin-arm.mk
index 08eeb8cb32..f28dd02732 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.darwin-mips.mk b/third_party/libwebp/libwebp_dsp_neon.target.darwin-mips.mk
index a3635cdbb5..84654345f3 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_STEM := libwebp_dsp_neon
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libwebp_dsp_neon: third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86.mk b/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86.mk
index a3635cdbb5..84654345f3 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_STEM := libwebp_dsp_neon
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libwebp_dsp_neon: third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86_64.mk b/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86_64.mk
index a3635cdbb5..84654345f3 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_STEM := libwebp_dsp_neon
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libwebp_dsp_neon: third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.linux-arm.mk b/third_party/libwebp/libwebp_dsp_neon.target.linux-arm.mk
index 08eeb8cb32..f28dd02732 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.linux-mips.mk b/third_party/libwebp/libwebp_dsp_neon.target.linux-mips.mk
index a3635cdbb5..84654345f3 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_STEM := libwebp_dsp_neon
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libwebp_dsp_neon: third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.linux-x86.mk b/third_party/libwebp/libwebp_dsp_neon.target.linux-x86.mk
index a3635cdbb5..84654345f3 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_STEM := libwebp_dsp_neon
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libwebp_dsp_neon: third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_dsp_neon.target.linux-x86_64.mk b/third_party/libwebp/libwebp_dsp_neon.target.linux-x86_64.mk
index a3635cdbb5..84654345f3 100644
--- a/third_party/libwebp/libwebp_dsp_neon.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp_dsp_neon.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_STEM := libwebp_dsp_neon
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ libwebp_dsp_neon: third_party_libwebp_libwebp_dsp_neon_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/libwebp/libwebp_enc.target.darwin-arm.mk b/third_party/libwebp/libwebp_enc.target.darwin-arm.mk
index e4212f5f96..be7cfd7835 100644
--- a/third_party/libwebp/libwebp_enc.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp_enc.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -241,9 +242,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_enc.target.darwin-mips.mk b/third_party/libwebp/libwebp_enc.target.darwin-mips.mk
index 453cf1def2..0a31ebc1f6 100644
--- a/third_party/libwebp/libwebp_enc.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp_enc.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_enc.target.darwin-x86.mk b/third_party/libwebp/libwebp_enc.target.darwin-x86.mk
index ffb14ea7a0..ded99ffe7a 100644
--- a/third_party/libwebp/libwebp_enc.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp_enc.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_enc.target.darwin-x86_64.mk b/third_party/libwebp/libwebp_enc.target.darwin-x86_64.mk
index 6d375c63b9..7672b943bf 100644
--- a/third_party/libwebp/libwebp_enc.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp_enc.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_enc.target.linux-arm.mk b/third_party/libwebp/libwebp_enc.target.linux-arm.mk
index e4212f5f96..be7cfd7835 100644
--- a/third_party/libwebp/libwebp_enc.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp_enc.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -241,9 +242,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_enc.target.linux-mips.mk b/third_party/libwebp/libwebp_enc.target.linux-mips.mk
index 453cf1def2..0a31ebc1f6 100644
--- a/third_party/libwebp/libwebp_enc.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp_enc.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_enc.target.linux-x86.mk b/third_party/libwebp/libwebp_enc.target.linux-x86.mk
index ffb14ea7a0..ded99ffe7a 100644
--- a/third_party/libwebp/libwebp_enc.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp_enc.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_enc.target.linux-x86_64.mk b/third_party/libwebp/libwebp_enc.target.linux-x86_64.mk
index 6d375c63b9..7672b943bf 100644
--- a/third_party/libwebp/libwebp_enc.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp_enc.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_enc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -222,9 +223,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_utils.target.darwin-arm.mk b/third_party/libwebp/libwebp_utils.target.darwin-arm.mk
index 01d423795d..b15c6d7fda 100644
--- a/third_party/libwebp/libwebp_utils.target.darwin-arm.mk
+++ b/third_party/libwebp/libwebp_utils.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_utils.target.darwin-mips.mk b/third_party/libwebp/libwebp_utils.target.darwin-mips.mk
index c3409b7df2..0ac0568f2a 100644
--- a/third_party/libwebp/libwebp_utils.target.darwin-mips.mk
+++ b/third_party/libwebp/libwebp_utils.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_utils.target.darwin-x86.mk b/third_party/libwebp/libwebp_utils.target.darwin-x86.mk
index f89e75d9b2..2182b0aabc 100644
--- a/third_party/libwebp/libwebp_utils.target.darwin-x86.mk
+++ b/third_party/libwebp/libwebp_utils.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_utils.target.darwin-x86_64.mk b/third_party/libwebp/libwebp_utils.target.darwin-x86_64.mk
index 12b6dce7bd..84521e9aeb 100644
--- a/third_party/libwebp/libwebp_utils.target.darwin-x86_64.mk
+++ b/third_party/libwebp/libwebp_utils.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libwebp/libwebp_utils.target.linux-arm.mk b/third_party/libwebp/libwebp_utils.target.linux-arm.mk
index 01d423795d..b15c6d7fda 100644
--- a/third_party/libwebp/libwebp_utils.target.linux-arm.mk
+++ b/third_party/libwebp/libwebp_utils.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libwebp/libwebp_utils.target.linux-mips.mk b/third_party/libwebp/libwebp_utils.target.linux-mips.mk
index c3409b7df2..0ac0568f2a 100644
--- a/third_party/libwebp/libwebp_utils.target.linux-mips.mk
+++ b/third_party/libwebp/libwebp_utils.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libwebp/libwebp_utils.target.linux-x86.mk b/third_party/libwebp/libwebp_utils.target.linux-x86.mk
index f89e75d9b2..2182b0aabc 100644
--- a/third_party/libwebp/libwebp_utils.target.linux-x86.mk
+++ b/third_party/libwebp/libwebp_utils.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libwebp/libwebp_utils.target.linux-x86_64.mk b/third_party/libwebp/libwebp_utils.target.linux-x86_64.mk
index 12b6dce7bd..84521e9aeb 100644
--- a/third_party/libwebp/libwebp_utils.target.linux-x86_64.mk
+++ b/third_party/libwebp/libwebp_utils.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libwebp_libwebp_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libxml/libxml.target.darwin-arm.mk b/third_party/libxml/libxml.target.darwin-arm.mk
index cdbbaa3b8c..7f2ba0171f 100644
--- a/third_party/libxml/libxml.target.darwin-arm.mk
+++ b/third_party/libxml/libxml.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -288,9 +289,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libxml/libxml.target.darwin-mips.mk b/third_party/libxml/libxml.target.darwin-mips.mk
index d8aca6c708..db9aeb710d 100644
--- a/third_party/libxml/libxml.target.darwin-mips.mk
+++ b/third_party/libxml/libxml.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libxml/libxml.target.darwin-x86.mk b/third_party/libxml/libxml.target.darwin-x86.mk
index 6aadb749bf..fb5bc67ba4 100644
--- a/third_party/libxml/libxml.target.darwin-x86.mk
+++ b/third_party/libxml/libxml.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libxml/libxml.target.darwin-x86_64.mk b/third_party/libxml/libxml.target.darwin-x86_64.mk
index 0a8d15f398..668c751422 100644
--- a/third_party/libxml/libxml.target.darwin-x86_64.mk
+++ b/third_party/libxml/libxml.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libxml/libxml.target.linux-arm.mk b/third_party/libxml/libxml.target.linux-arm.mk
index cdbbaa3b8c..7f2ba0171f 100644
--- a/third_party/libxml/libxml.target.linux-arm.mk
+++ b/third_party/libxml/libxml.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -288,9 +289,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libxml/libxml.target.linux-mips.mk b/third_party/libxml/libxml.target.linux-mips.mk
index d8aca6c708..db9aeb710d 100644
--- a/third_party/libxml/libxml.target.linux-mips.mk
+++ b/third_party/libxml/libxml.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libxml/libxml.target.linux-x86.mk b/third_party/libxml/libxml.target.linux-x86.mk
index 6aadb749bf..fb5bc67ba4 100644
--- a/third_party/libxml/libxml.target.linux-x86.mk
+++ b/third_party/libxml/libxml.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libxml/libxml.target.linux-x86_64.mk b/third_party/libxml/libxml.target.linux-x86_64.mk
index 0a8d15f398..668c751422 100644
--- a/third_party/libxml/libxml.target.linux-x86_64.mk
+++ b/third_party/libxml/libxml.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxml_libxml_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -269,9 +270,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libxslt/libxslt.target.darwin-arm.mk b/third_party/libxslt/libxslt.target.darwin-arm.mk
index 193f1f5cab..e30122076f 100644
--- a/third_party/libxslt/libxslt.target.darwin-arm.mk
+++ b/third_party/libxslt/libxslt.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -261,9 +262,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libxslt/libxslt.target.darwin-mips.mk b/third_party/libxslt/libxslt.target.darwin-mips.mk
index ba42abee19..d8f0a142c3 100644
--- a/third_party/libxslt/libxslt.target.darwin-mips.mk
+++ b/third_party/libxslt/libxslt.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -259,9 +260,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libxslt/libxslt.target.darwin-x86.mk b/third_party/libxslt/libxslt.target.darwin-x86.mk
index 5cd61dcb8d..76bf85bb93 100644
--- a/third_party/libxslt/libxslt.target.darwin-x86.mk
+++ b/third_party/libxslt/libxslt.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -259,9 +260,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libxslt/libxslt.target.darwin-x86_64.mk b/third_party/libxslt/libxslt.target.darwin-x86_64.mk
index c65c446e5b..5b62ab360d 100644
--- a/third_party/libxslt/libxslt.target.darwin-x86_64.mk
+++ b/third_party/libxslt/libxslt.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -259,9 +260,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/libxslt/libxslt.target.linux-arm.mk b/third_party/libxslt/libxslt.target.linux-arm.mk
index 193f1f5cab..e30122076f 100644
--- a/third_party/libxslt/libxslt.target.linux-arm.mk
+++ b/third_party/libxslt/libxslt.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -261,9 +262,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/libxslt/libxslt.target.linux-mips.mk b/third_party/libxslt/libxslt.target.linux-mips.mk
index ba42abee19..d8f0a142c3 100644
--- a/third_party/libxslt/libxslt.target.linux-mips.mk
+++ b/third_party/libxslt/libxslt.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -259,9 +260,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/libxslt/libxslt.target.linux-x86.mk b/third_party/libxslt/libxslt.target.linux-x86.mk
index 5cd61dcb8d..76bf85bb93 100644
--- a/third_party/libxslt/libxslt.target.linux-x86.mk
+++ b/third_party/libxslt/libxslt.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -259,9 +260,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/libxslt/libxslt.target.linux-x86_64.mk b/third_party/libxslt/libxslt.target.linux-x86_64.mk
index c65c446e5b..5b62ab360d 100644
--- a/third_party/libxslt/libxslt.target.linux-x86_64.mk
+++ b/third_party/libxslt/libxslt.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_libxslt_libxslt_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -242,9 +243,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -259,9 +260,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.darwin-arm.mk b/third_party/lzma_sdk/lzma_sdk.target.darwin-arm.mk
index 222303825d..2d3bc81979 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.darwin-arm.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.darwin-mips.mk b/third_party/lzma_sdk/lzma_sdk.target.darwin-mips.mk
index 4ede443bfb..a05427f12b 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.darwin-mips.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -244,9 +245,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.darwin-x86.mk b/third_party/lzma_sdk/lzma_sdk.target.darwin-x86.mk
index eaeb36c910..12572b1cfe 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.darwin-x86.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -244,9 +245,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.darwin-x86_64.mk b/third_party/lzma_sdk/lzma_sdk.target.darwin-x86_64.mk
index c8c1e32827..06d67ed31a 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.darwin-x86_64.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -244,9 +245,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.linux-arm.mk b/third_party/lzma_sdk/lzma_sdk.target.linux-arm.mk
index 222303825d..2d3bc81979 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.linux-arm.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.linux-mips.mk b/third_party/lzma_sdk/lzma_sdk.target.linux-mips.mk
index 4ede443bfb..a05427f12b 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.linux-mips.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -244,9 +245,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.linux-x86.mk b/third_party/lzma_sdk/lzma_sdk.target.linux-x86.mk
index eaeb36c910..12572b1cfe 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.linux-x86.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -244,9 +245,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/lzma_sdk/lzma_sdk.target.linux-x86_64.mk b/third_party/lzma_sdk/lzma_sdk.target.linux-x86_64.mk
index c8c1e32827..06d67ed31a 100644
--- a/third_party/lzma_sdk/lzma_sdk.target.linux-x86_64.mk
+++ b/third_party/lzma_sdk/lzma_sdk.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_lzma_sdk_lzma_sdk_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -227,9 +228,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -244,9 +245,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/mesa/README.chromium b/third_party/mesa/README.chromium
index a4db4d8522..3f9739b40d 100644
--- a/third_party/mesa/README.chromium
+++ b/third_party/mesa/README.chromium
@@ -44,3 +44,6 @@ Modifications made:
- #pragma optimize off around _swrast_write_zoomed_z_span, ICEing on
VS2013: http://crbug.com/348350.
+
+- Porting to x64 Android. Remove redefinitions of log2 and log2f.
+ https://codereview.chromium.org/216773005/
diff --git a/third_party/mesa/mesa_headers.target.darwin-arm.mk b/third_party/mesa/mesa_headers.target.darwin-arm.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.darwin-arm.mk
+++ b/third_party/mesa/mesa_headers.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.darwin-mips.mk b/third_party/mesa/mesa_headers.target.darwin-mips.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.darwin-mips.mk
+++ b/third_party/mesa/mesa_headers.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.darwin-x86.mk b/third_party/mesa/mesa_headers.target.darwin-x86.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.darwin-x86.mk
+++ b/third_party/mesa/mesa_headers.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.darwin-x86_64.mk b/third_party/mesa/mesa_headers.target.darwin-x86_64.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.darwin-x86_64.mk
+++ b/third_party/mesa/mesa_headers.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.linux-arm.mk b/third_party/mesa/mesa_headers.target.linux-arm.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.linux-arm.mk
+++ b/third_party/mesa/mesa_headers.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.linux-mips.mk b/third_party/mesa/mesa_headers.target.linux-mips.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.linux-mips.mk
+++ b/third_party/mesa/mesa_headers.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.linux-x86.mk b/third_party/mesa/mesa_headers.target.linux-x86.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.linux-x86.mk
+++ b/third_party/mesa/mesa_headers.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/mesa/mesa_headers.target.linux-x86_64.mk b/third_party/mesa/mesa_headers.target.linux-x86_64.mk
index 7738cff1ba..291dad389e 100644
--- a/third_party/mesa/mesa_headers.target.linux-x86_64.mk
+++ b/third_party/mesa/mesa_headers.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_STEM := mesa_headers
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -29,6 +30,7 @@ mesa_headers: third_party_mesa_mesa_headers_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -36,3 +38,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/modp_b64/BUILD.gn b/third_party/modp_b64/BUILD.gn
new file mode 100644
index 0000000000..539abe1580
--- /dev/null
+++ b/third_party/modp_b64/BUILD.gn
@@ -0,0 +1,11 @@
+# Copyright (c) 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+static_library("modp_b64") {
+ sources = [
+ "modp_b64.cc",
+ "modp_b64.h",
+ "modp_b64_data.h",
+ ]
+}
diff --git a/third_party/modp_b64/README.chromium b/third_party/modp_b64/README.chromium
index 26eed1e80c..35b9e54840 100644
--- a/third_party/modp_b64/README.chromium
+++ b/third_party/modp_b64/README.chromium
@@ -11,12 +11,5 @@ and to fix compilation errors that occur under VC8. The file was renamed
modp_b64.cc to force it to be compiled as C++ so that the inclusion of
basictypes.h could be possible.
-The file modp_b64_data.h was generated by modp_b64_gen.c (under Linux),
-which is not included in this directory. The resulting header was
-modified to not include <stdint.h> when COMPILER_MSVC is defined (since
-that header file does not exist under VC8), but instead in that case to
-include "base/basictypes.h" and provide the required typedefs for
-uint8_t and uint32_t using uint8 and uint32.
-
The modp_b64.cc and modp_b64.h files were modified to make them safe on
-64-bit systems. \ No newline at end of file
+64-bit systems.
diff --git a/third_party/modp_b64/modp_b64.target.darwin-arm.mk b/third_party/modp_b64/modp_b64.target.darwin-arm.mk
index a78005c62a..7b32c43b4a 100644
--- a/third_party/modp_b64/modp_b64.target.darwin-arm.mk
+++ b/third_party/modp_b64/modp_b64.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/modp_b64/modp_b64.target.darwin-mips.mk b/third_party/modp_b64/modp_b64.target.darwin-mips.mk
index 9dcfe362e5..1ac2ea50c2 100644
--- a/third_party/modp_b64/modp_b64.target.darwin-mips.mk
+++ b/third_party/modp_b64/modp_b64.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -224,9 +225,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/modp_b64/modp_b64.target.darwin-x86.mk b/third_party/modp_b64/modp_b64.target.darwin-x86.mk
index cb4fdf5c8a..b928e0ef56 100644
--- a/third_party/modp_b64/modp_b64.target.darwin-x86.mk
+++ b/third_party/modp_b64/modp_b64.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -224,9 +225,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/modp_b64/modp_b64.target.darwin-x86_64.mk b/third_party/modp_b64/modp_b64.target.darwin-x86_64.mk
index d757d9d7a2..2f2441e301 100644
--- a/third_party/modp_b64/modp_b64.target.darwin-x86_64.mk
+++ b/third_party/modp_b64/modp_b64.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -224,9 +225,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/modp_b64/modp_b64.target.linux-arm.mk b/third_party/modp_b64/modp_b64.target.linux-arm.mk
index a78005c62a..7b32c43b4a 100644
--- a/third_party/modp_b64/modp_b64.target.linux-arm.mk
+++ b/third_party/modp_b64/modp_b64.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/modp_b64/modp_b64.target.linux-mips.mk b/third_party/modp_b64/modp_b64.target.linux-mips.mk
index 9dcfe362e5..1ac2ea50c2 100644
--- a/third_party/modp_b64/modp_b64.target.linux-mips.mk
+++ b/third_party/modp_b64/modp_b64.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -224,9 +225,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/modp_b64/modp_b64.target.linux-x86.mk b/third_party/modp_b64/modp_b64.target.linux-x86.mk
index cb4fdf5c8a..b928e0ef56 100644
--- a/third_party/modp_b64/modp_b64.target.linux-x86.mk
+++ b/third_party/modp_b64/modp_b64.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -224,9 +225,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/modp_b64/modp_b64.target.linux-x86_64.mk b/third_party/modp_b64/modp_b64.target.linux-x86_64.mk
index d757d9d7a2..2f2441e301 100644
--- a/third_party/modp_b64/modp_b64.target.linux-x86_64.mk
+++ b/third_party/modp_b64/modp_b64.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_modp_b64_modp_b64_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -207,9 +208,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -224,9 +225,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/modp_b64/modp_b64_data.h b/third_party/modp_b64/modp_b64_data.h
index aca6f0fb0e..fb85890d9d 100644
--- a/third_party/modp_b64/modp_b64_data.h
+++ b/third_party/modp_b64/modp_b64_data.h
@@ -1,14 +1,5 @@
#include "build/build_config.h"
-#if !defined(COMPILER_MSVC)
#include <stdint.h>
-#else
-// VC8 doesn't have stdint.h. On the other hand, some compilers don't like
-// the below code, because basictypes.h itself includes stdint.h and the
-// typedefs below can cause conflicts.
-#include "base/basictypes.h"
-typedef uint8 uint8_t;
-typedef uint32 uint32_t;
-#endif
#define CHAR62 '+'
#define CHAR63 '/'
diff --git a/third_party/npapi/npapi.target.darwin-arm.mk b/third_party/npapi/npapi.target.darwin-arm.mk
index c05ad348d8..c721094bab 100644
--- a/third_party/npapi/npapi.target.darwin-arm.mk
+++ b/third_party/npapi/npapi.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.darwin-mips.mk b/third_party/npapi/npapi.target.darwin-mips.mk
index 4b2be425ab..0a7e9b0c4f 100644
--- a/third_party/npapi/npapi.target.darwin-mips.mk
+++ b/third_party/npapi/npapi.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.darwin-x86.mk b/third_party/npapi/npapi.target.darwin-x86.mk
index e5f79e4b54..ce9b3540af 100644
--- a/third_party/npapi/npapi.target.darwin-x86.mk
+++ b/third_party/npapi/npapi.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.darwin-x86_64.mk b/third_party/npapi/npapi.target.darwin-x86_64.mk
index ccb9a75723..2e00749f52 100644
--- a/third_party/npapi/npapi.target.darwin-x86_64.mk
+++ b/third_party/npapi/npapi.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.linux-arm.mk b/third_party/npapi/npapi.target.linux-arm.mk
index c05ad348d8..c721094bab 100644
--- a/third_party/npapi/npapi.target.linux-arm.mk
+++ b/third_party/npapi/npapi.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.linux-mips.mk b/third_party/npapi/npapi.target.linux-mips.mk
index 4b2be425ab..0a7e9b0c4f 100644
--- a/third_party/npapi/npapi.target.linux-mips.mk
+++ b/third_party/npapi/npapi.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.linux-x86.mk b/third_party/npapi/npapi.target.linux-x86.mk
index e5f79e4b54..ce9b3540af 100644
--- a/third_party/npapi/npapi.target.linux-x86.mk
+++ b/third_party/npapi/npapi.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/npapi/npapi.target.linux-x86_64.mk b/third_party/npapi/npapi.target.linux-x86_64.mk
index ccb9a75723..2e00749f52 100644
--- a/third_party/npapi/npapi.target.linux-x86_64.mk
+++ b/third_party/npapi/npapi.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_npapi_npapi_gyp
LOCAL_MODULE_STEM := npapi
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,6 +213,7 @@ npapi: third_party_npapi_npapi_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +221,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/nss.isolate b/third_party/nss.isolate
deleted file mode 100644
index 4a35f95593..0000000000
--- a/third_party/nss.isolate
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# TODO(maruel): this file should live in third_party/nss but two factors get in
-# the way:
-# - .isolate files do not support conditional includes. This works in gyp by
-# using the 'dependencies': [ 'path/to/file.gyp:project' ] which dynamically
-# loads project files.
-# - third_party/nss is conditionally checked out. It is not checked out on
-# linux.
-{
- 'conditions': [
- ['OS=="mac" and component=="shared_library"', {
- 'variables': {
- 'isolate_dependency_tracked': [
- '<(PRODUCT_DIR)/libcrnspr.dylib',
- '<(PRODUCT_DIR)/libcrnss.dylib',
- ],
- },
- }],
- ['OS=="win" and component=="shared_library"', {
- 'variables': {
- 'isolate_dependency_tracked': [
- '<(PRODUCT_DIR)/crnspr.dll',
- '<(PRODUCT_DIR)/crnss.dll',
- ],
- },
- }],
- ],
-}
diff --git a/third_party/opus/opus.gyp b/third_party/opus/opus.gyp
index 7747c972f2..326367ea33 100644
--- a/third_party/opus/opus.gyp
+++ b/third_party/opus/opus.gyp
@@ -51,11 +51,16 @@
],
}],
[ 'os_posix==1 and OS!="android"', {
+ # Suppress a warning given by opus_decoder.c that tells us
+ # optimizations are turned off.
'cflags': [
- # Suppress a warning given by opus_decoder.c that tells us
- # optimizations are turned off.
'-Wno-#pragma-messages',
],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': [
+ '-Wno-#pragma-messages',
+ ],
+ },
}],
['use_opus_fixed_point==0', {
'include_dirs': [
diff --git a/third_party/opus/opus.target.darwin-arm.mk b/third_party/opus/opus.target.darwin-arm.mk
index dd1ecbc67e..9284a80c33 100644
--- a/third_party/opus/opus.target.darwin-arm.mk
+++ b/third_party/opus/opus.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -381,9 +382,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -400,9 +401,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/opus/opus.target.darwin-mips.mk b/third_party/opus/opus.target.darwin-mips.mk
index 54478c2171..215920ece6 100644
--- a/third_party/opus/opus.target.darwin-mips.mk
+++ b/third_party/opus/opus.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -356,9 +357,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -373,9 +374,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/opus/opus.target.darwin-x86.mk b/third_party/opus/opus.target.darwin-x86.mk
index 6bf86a0070..11b67f458b 100644
--- a/third_party/opus/opus.target.darwin-x86.mk
+++ b/third_party/opus/opus.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -356,9 +357,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -373,9 +374,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/opus/opus.target.darwin-x86_64.mk b/third_party/opus/opus.target.darwin-x86_64.mk
index 011d4edb60..9046965c47 100644
--- a/third_party/opus/opus.target.darwin-x86_64.mk
+++ b/third_party/opus/opus.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -356,9 +357,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -373,9 +374,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/opus/opus.target.linux-arm.mk b/third_party/opus/opus.target.linux-arm.mk
index dd1ecbc67e..9284a80c33 100644
--- a/third_party/opus/opus.target.linux-arm.mk
+++ b/third_party/opus/opus.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -381,9 +382,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -400,9 +401,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/opus/opus.target.linux-mips.mk b/third_party/opus/opus.target.linux-mips.mk
index 54478c2171..215920ece6 100644
--- a/third_party/opus/opus.target.linux-mips.mk
+++ b/third_party/opus/opus.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -356,9 +357,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -373,9 +374,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/opus/opus.target.linux-x86.mk b/third_party/opus/opus.target.linux-x86.mk
index 6bf86a0070..11b67f458b 100644
--- a/third_party/opus/opus.target.linux-x86.mk
+++ b/third_party/opus/opus.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -356,9 +357,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -373,9 +374,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/opus/opus.target.linux-x86_64.mk b/third_party/opus/opus.target.linux-x86_64.mk
index 011d4edb60..9046965c47 100644
--- a/third_party/opus/opus.target.linux-x86_64.mk
+++ b/third_party/opus/opus.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_opus_opus_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -356,9 +357,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -373,9 +374,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/polymer/PRESUBMIT.py b/third_party/polymer/PRESUBMIT.py
new file mode 100644
index 0000000000..bd661274cd
--- /dev/null
+++ b/third_party/polymer/PRESUBMIT.py
@@ -0,0 +1,60 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Chromium presubmit script for third_party/polymer.
+
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
+for more details on the presubmit API built into gcl.
+"""
+
+def _CheckVulcanizeWasRun(input_api, output_api):
+ """Checks to make sure vulcanize has been run on polymer when it is
+ changed."""
+ version_tag = '// @version: '
+ separator = input_api.os_path.sep
+ cwd = input_api.PresubmitLocalPath() + separator
+ polymer_js = cwd + 'polymer' + separator + 'polymer.js'
+ polymer_vulcanized_js = cwd + 'vulcanized' + separator + 'polymer-elements.js'
+
+ version = ''
+ with open(polymer_js, 'r') as f:
+ for line in f:
+ if version_tag in line:
+ version = line.split(' ')[2].strip()
+ if (not version):
+ return [output_api.PresubmitError('Expected to find an @version tag in: ' +
+ polymer_js + ' but did not.')]
+ vulcanized_version = ''
+ with open(polymer_vulcanized_js, 'r') as f:
+ for line in f:
+ if version_tag in line:
+ vulcanized_version = line.split(' ')[2].strip()
+
+ if (not vulcanized_version):
+ return [output_api.PresubmitError('Expected to find an @version tag in: ' +
+ polymer_vulcanized_js + ' but did not.')]
+ if (vulcanized_version != version):
+ return [output_api.PresubmitError('The vulcanized version of polymer (' +
+ polymer_vulcanized_js + ') has version ' + vulcanized_version +
+ ' while the original version (' + polymer_js + ') has version ' +
+ version + '. You probably need to run vulcanize.py in ' + cwd + '.')]
+
+ return []
+
+def _CommonChecks(input_api, output_api):
+ """Checks common to both upload and commit."""
+ results = []
+ results.extend(_CheckVulcanizeWasRun(input_api, output_api))
+ return results
+
+def CheckChangeOnUpload(input_api, output_api):
+ results = []
+ results.extend(_CommonChecks(input_api, output_api))
+ return results
+
+
+def CheckChangeOnCommit(input_api, output_api):
+ results = []
+ results.extend(_CommonChecks(input_api, output_api))
+ return results
diff --git a/third_party/polymer/README.chromium b/third_party/polymer/README.chromium
index 154d686e79..26f706379f 100644
--- a/third_party/polymer/README.chromium
+++ b/third_party/polymer/README.chromium
@@ -1,7 +1,7 @@
Name: Polymer
Short Name: polymer
URL: http://www.polymer-project.org
-Version: 0.2.1
+Version: 0.2.2
Revision: (See <component>/.bower.json)
License: BSD
License File: LICENSE
diff --git a/third_party/polymer/bower.json b/third_party/polymer/bower.json
index 0cd86b3fab..049418be01 100644
--- a/third_party/polymer/bower.json
+++ b/third_party/polymer/bower.json
@@ -2,7 +2,7 @@
"name": "chromium",
"private": true,
"dependencies": {
- "polymer": "Polymer/polymer#~0.2.1",
- "polymer-selector": "Polymer/polymer-selector#~0.2.1"
+ "polymer": "Polymer/polymer#~0.2.2",
+ "polymer-selector": "Polymer/polymer-selector#~0.2.2"
}
}
diff --git a/third_party/polymer/platform/.bower.json b/third_party/polymer/platform/.bower.json
index 6aa570ed1c..f7339b7803 100644
--- a/third_party/polymer/platform/.bower.json
+++ b/third_party/polymer/platform/.bower.json
@@ -13,14 +13,14 @@
],
"license": "BSD",
"private": true,
- "version": "0.2.1",
- "_release": "0.2.1",
+ "version": "0.2.2",
+ "_release": "0.2.2",
"_resolution": {
"type": "version",
- "tag": "0.2.1",
- "commit": "961d6f68848b9479d4d778466c37c0835837bc1c"
+ "tag": "0.2.2",
+ "commit": "ea89aef429d149c1481dfaa6cd26ed9945f27ff0"
},
"_source": "git://github.com/Polymer/platform.git",
- "_target": "0.2.1",
+ "_target": "0.2.2",
"_originalSource": "Polymer/platform"
} \ No newline at end of file
diff --git a/third_party/polymer/platform/bower.json b/third_party/polymer/platform/bower.json
index cc029b992e..17a7660eca 100644
--- a/third_party/polymer/platform/bower.json
+++ b/third_party/polymer/platform/bower.json
@@ -13,5 +13,5 @@
],
"license": "BSD",
"private": true,
- "version": "0.2.1"
+ "version": "0.2.2"
} \ No newline at end of file
diff --git a/third_party/polymer/platform/build.log b/third_party/polymer/platform/build.log
index a8df31445f..656be66757 100644
--- a/third_party/polymer/platform/build.log
+++ b/third_party/polymer/platform/build.log
@@ -1,227 +1,43 @@
BUILD LOG
---------
-Build Time: 2014-03-07T10:33:27
+Build Time: 2014-03-31T15:34:53
NODEJS INFORMATION
==================
nodejs: v0.10.26
-chai: 1.9.0
-─ assertion-error: 1.0.0
-┬ deep-eql: 0.1.3
-└── type-detect: 0.1.1
-grunt: 0.4.2
-─ async: 0.1.22
-─ coffee-script: 1.3.3
-─ colors: 0.6.2
-─ dateformat: 1.0.2-1.2.3
-─ eventemitter2: 0.4.13
-─ exit: 0.1.2
-┬ findup-sync: 0.1.2
-└── lodash: 1.0.1
-─ getobject: 0.1.0
-┬ glob: 3.1.21
-├── graceful-fs: 1.2.3
-└── inherits: 1.0.0
-─ hooker: 0.2.3
-─ iconv-lite: 0.2.11
-┬ js-yaml: 2.0.5
-├─┬ argparse: 0.1.15
-│ ├── underscore: 1.4.4
-│ └── underscore.string: 2.3.3
-└── esprima: 1.0.4
-─ lodash: 0.9.2
-┬ minimatch: 0.2.14
-├── lru-cache: 2.5.0
-└── sigmund: 1.0.0
-┬ nopt: 1.0.10
-└── abbrev: 1.0.4
-┬ rimraf: 2.0.3
-└── graceful-fs: 1.1.14
-─ underscore.string: 2.2.1
-─ which: 1.0.5
-grunt-audit: 0.0.2
+grunt: 0.4.4
+chai: 1.9.1
+grunt-audit: 0.0.3
grunt-concat-sourcemap: 0.4.1
-┬ source-map: 0.1.32
-└── amdefine: 0.1.0
-grunt-contrib-concat: 0.3.0
-grunt-contrib-uglify: 0.3.2
-┬ chalk: 0.4.0
-├── ansi-styles: 1.0.0
-├── has-color: 0.1.4
-└── strip-ansi: 0.1.1
-┬ grunt-lib-contrib: 0.6.1
-└── zlib-browserify: 0.0.1
-┬ uglify-js: 2.4.12
-├── async: 0.2.10
-├─┬ optimist: 0.3.7
-│ └── wordwrap: 0.0.2
-├─┬ source-map: 0.1.32
-│ └── amdefine: 0.1.0
-└── uglify-to-browserify: 1.0.2
-grunt-contrib-yuidoc: 0.5.0
-┬ yuidocjs: 0.3.47
-├─┬ express: 3.1.2
-│ ├── buffer-crc32: 0.2.1
-│ ├── commander: 0.6.1
-│ ├─┬ connect: 2.7.5
-│ │ ├── buffer-crc32: 0.1.1
-│ │ ├── bytes: 0.2.0
-│ │ ├── formidable: 1.0.11
-│ │ ├── pause: 0.0.1
-│ │ └── qs: 0.5.1
-│ ├── cookie: 0.0.5
-│ ├── cookie-signature: 1.0.0
-│ ├── debug: 0.7.4
-│ ├── fresh: 0.1.0
-│ ├── methods: 0.0.1
-│ ├── mkdirp: 0.3.5
-│ ├── range-parser: 0.0.4
-│ └─┬ send: 0.1.0
-│ └── mime: 1.2.6
-├── graceful-fs: 2.0.1
-├── marked: 0.2.10
-├─┬ minimatch: 0.2.14
-│ ├── lru-cache: 2.5.0
-│ └── sigmund: 1.0.0
-├─┬ rimraf: 2.0.3
-│ └── graceful-fs: 1.1.14
-└─┬ yui: 3.9.1
- └─┬ request: 2.12.0
- ├─┬ form-data: 0.0.3
- │ ├── async: 0.1.9
- │ └─┬ combined-stream: 0.0.3
- │ └── delayed-stream: 0.0.5
- └── mime: 1.2.7
-grunt-karma: 0.6.2
-┬ optimist: 0.6.1
-├── minimist: 0.0.7
-└── wordwrap: 0.0.2
-karma: 0.10.9
-┬ chokidar: 0.8.1
-├── fsevents: 0.1.6 extraneous
-└── recursive-readdir: 0.0.2 extraneous
-─ coffee-script: 1.6.3
-─ colors: 0.6.0-1
-┬ connect: 2.8.8
-├── buffer-crc32: 0.2.1
-├── bytes: 0.2.0
-├── cookie: 0.1.0
-├── cookie-signature: 1.0.1
-├── debug: 0.7.4
-├── formidable: 1.0.14
-├── fresh: 0.2.0
-├── methods: 0.0.1
-├── pause: 0.0.1
-├── qs: 0.6.5
-├─┬ send: 0.1.4
-│ └── range-parser: 0.0.4
-└── uid2: 0.0.2
-─ di: 0.0.1
-┬ glob: 3.1.21
-└── inherits: 1.0.0
-─ graceful-fs: 1.2.3
-┬ http-proxy: 0.10.4
-├─┬ optimist: 0.6.1
-│ ├── minimist: 0.0.7
-│ └── wordwrap: 0.0.2
-├── pkginfo: 0.3.0
-└─┬ utile: 0.2.1
- ├── async: 0.2.10
- ├── deep-equal: 0.2.1
- ├── i: 0.3.2
- ├── mkdirp: 0.3.5
- └── ncp: 0.4.2
-─ lodash: 1.1.1
-┬ log4js: 0.6.10
-├── async: 0.1.15
-├─┬ readable-stream: 1.0.25
-│ └── string_decoder: 0.10.25-1
-└── semver: 1.1.4
-─ mime: 1.2.11
-┬ minimatch: 0.2.14
-├── lru-cache: 2.5.0
-└── sigmund: 1.0.0
-┬ optimist: 0.3.7
-└── wordwrap: 0.0.2
-─ q: 0.9.7
-─ rimraf: 2.1.4
-┬ socket.io: 0.9.16
-├── base64id: 0.1.0
-├── policyfile: 0.0.4
-├── redis: 0.7.3
-└─┬ socket.io-client: 0.9.16
- ├─┬ active-x-obfuscator: 0.0.1
- │ └── zeparser: 0.0.5
- ├── uglify-js: 1.2.5
- ├─┬ ws: 0.4.31
- │ ├── commander: 0.6.1
- │ ├── nan: 0.3.2
- │ ├── options: 0.0.5
- │ └── tinycolor: 0.0.1
- └── xmlhttprequest: 1.4.2
-┬ useragent: 2.0.7
-└── lru-cache: 2.2.4
-karma-chrome-launcher: 0.0.2 (git://github.com/morethanreal/karma-chrome-launcher#aaaef751f4c39b4671447f4b62a3462101f8a3c4)
-karma-coffee-preprocessor: 0.1.2
-─ coffee-script: 1.6.3
+grunt-contrib-concat: 0.4.0
+grunt-contrib-uglify: 0.3.3
+grunt-karma: 0.8.2
+grunt-contrib-yuidoc: 0.5.2
+karma: 0.12.2
+karma-chrome-launcher: 0.0.2
karma-crbot-reporter: 0.0.4
karma-firefox-launcher: 0.1.3
-karma-html2js-preprocessor: 0.1.0
-karma-ie-launcher: 0.1.1
-karma-jasmine: 0.1.5
-karma-mocha: 0.1.1
-karma-phantomjs-launcher: 0.1.2
-┬ phantomjs: 1.9.7-1
-├── adm-zip: 0.2.1
-├── kew: 0.1.7
-├── mkdirp: 0.3.5
-├── ncp: 0.4.2
-├─┬ npmconf: 0.0.24
-│ ├─┬ config-chain: 1.1.8
-│ │ └── proto-list: 1.2.2
-│ ├── inherits: 1.0.0
-│ ├── ini: 1.1.0
-│ ├─┬ nopt: 2.1.2
-│ │ └── abbrev: 1.0.4
-│ ├── once: 1.1.1
-│ ├── osenv: 0.0.3
-│ └── semver: 1.1.4
-├── rimraf: 2.2.6
-└── which: 1.0.5
-karma-requirejs: 0.2.1
karma-safari-launcher: 0.1.1
karma-script-launcher: 0.1.0
-mocha: 1.17.1
-─ commander: 2.0.0
-─ debug: 0.7.4
-─ diff: 1.0.7
-┬ glob: 3.2.3
-├── graceful-fs: 2.0.1
-├── inherits: 2.0.1
-└─┬ minimatch: 0.2.14
- ├── lru-cache: 2.5.0
- └── sigmund: 1.0.0
-─ growl: 1.7.0
-┬ jade: 0.26.3
-├── commander: 0.6.1
-└── mkdirp: 0.3.0
-─ mkdirp: 0.3.5
-requirejs: 2.1.10
+karma-ie-launcher: 0.1.3
+karma-mocha: 0.1.3
+mocha: 1.18.2
+Platform: 0.2.2
REPO REVISIONS
==============
-CustomElements: 7be9e6e758903f62df6ba73a5ea82777c37dc273
-HTMLImports: cae0c94f3be4b492c0db686ffdd0288b49dbdfe7
-NodeBind: 62f7e53baee55d5821747227de9b407da1c261ec
-PointerEvents: f2964bcc070231c41391cb864fa0c6578031592c
-PointerGestures: f645ec49a0b2fa2e0d4dee40722bb0dab24ae59f
-ShadowDOM: 4c2f646faa3fe5e5f2625bc16753be11ef2a026e
-TemplateBinding: 08008af605298aaf2d56ef34d4af4df70679ea61
+CustomElements: 9b997ca97533147f5f17bd666c06e5fa1a13219e
+HTMLImports: 5f44b337ef6508271dd594f1ec086fac2be3cb0c
+NodeBind: b040e791f573b04cf06fdbc7d407712d46f4fca6
+PointerEvents: 86c341c7ef946dc295cb93a2b5ebebde69dbdcb7
+PointerGestures: e5ec43dcef5a20d789c7e4c09dd206cdb6664a27
+ShadowDOM: d7629dd67e2a48b34e5d497c34fdfe54c72c35b9
+TemplateBinding: 9dc4c42334b00716cec2826cb17dda6044c4aeb4
WeakMap: a0947a9a0f58f5733f464755c3b86de624b00a5d
-observe-js: 3d7b5aa5eb7b403ee7be398280113f7cc36e448a
-platform: 59d0c0d8307e9433d0dcd9943c627ab3ba45ac10
-polymer-expressions: 470cced7cf167bd164f0b924ceb088dd7a8240b9
+observe-js: 5db3ef588f3fdca7d44cdd24e3bf59b6d547b8c0
+platform: 30b5e4614660c3f1339fb6773c23f47535900242
+polymer-expressions: 1749343a75fc3aa84d691f14c4582a6d1a7f39f1
BUILD HASHES
============
-build/platform.js: 2dd0f0a8ebdaaffd6fecc70158cc3cefce3ad67a \ No newline at end of file
+build/platform.js: 2eb50ab8a0c5876401f9aac645aa1a96344da31b \ No newline at end of file
diff --git a/third_party/polymer/platform/platform.js b/third_party/polymer/platform/platform.js
index 57f1b10651..4bfe993cd1 100644
--- a/third_party/polymer/platform/platform.js
+++ b/third_party/polymer/platform/platform.js
@@ -28,11 +28,12 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// @version: 0.2.1
-function PointerGestureEvent(a,b){var c=b||{},d=document.createEvent("Event"),e={bubbles:Boolean(c.bubbles)===c.bubbles||!0,cancelable:Boolean(c.cancelable)===c.cancelable||!0};d.initEvent(a,e.bubbles,e.cancelable);for(var f,g=Object.keys(c),h=0;h<g.length;h++)f=g[h],d[f]=c[f];return d.preventTap=this.preventTap,d}"undefined"==typeof WeakMap&&!function(){var a=Object.defineProperty,b=Date.now()%1e9,c=function(){this.name="__st"+(1e9*Math.random()>>>0)+(b++ +"__")};c.prototype={set:function(b,c){var d=b[this.name];d&&d[0]===b?d[1]=c:a(b,this.name,{value:[b,c],writable:!0})},get:function(a){var b;return(b=a[this.name])&&b[0]===a?b[1]:void 0},"delete":function(a){this.set(a,void 0)}},window.WeakMap=c}(),function(a){"use strict";function b(){function a(a){b=a}if("function"!=typeof Object.observe||"function"!=typeof Array.observe)return!1;var b=[],c={};if(Object.observe(c,a),c.id=1,c.id=2,delete c.id,Object.deliverChangeRecords(a),3!==b.length)return!1;if("new"==b[0].type&&"updated"==b[1].type&&"deleted"==b[2].type)L="new",M="updated",N="reconfigured",O="deleted";else if("add"!=b[0].type||"update"!=b[1].type||"delete"!=b[2].type)return console.error("Unexpected change record names for Object.observe. Using dirty-checking instead"),!1;return Object.unobserve(c,a),c=[0],Array.observe(c,a),c[1]=1,c.length=0,Object.deliverChangeRecords(a),2!=b.length?!1:b[0].type!=P||b[1].type!=P?!1:(Array.unobserve(c,a),!0)}function c(){if(a.document&&"securityPolicy"in a.document&&!a.document.securityPolicy.allowsEval)return!1;try{var b=new Function("","return true;");return b()}catch(c){return!1}}function d(a){return+a===a>>>0}function e(a){return+a}function f(a){return a===Object(a)}function g(a,b){return a===b?0!==a||1/a===1/b:S(a)&&S(b)?!0:a!==a&&b!==b}function h(a){return"string"!=typeof a?!1:(a=a.trim(),""==a?!0:"."==a[0]?!1:$.test(a))}function i(a,b){if(b!==_)throw Error("Use Path.get to retrieve path objects");return""==a.trim()?this:d(a)?(this.push(a),this):(a.split(/\s*\.\s*/).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void(R&&this.length&&(this.getValueFrom=this.compiledGetValueFromFn())))}function j(a){if(a instanceof i)return a;null==a&&(a=""),"string"!=typeof a&&(a=String(a));var b=ab[a];if(b)return b;if(!h(a))return bb;var b=new i(a,_);return ab[a]=b,b}function k(b){for(var c=0;db>c&&b.check_();)c++;return a.testingExposeCycleCount&&(a.dirtyCheckCycleCount=c),c>0}function l(a){for(var b in a)return!1;return!0}function m(a){return l(a.added)&&l(a.removed)&&l(a.changed)}function n(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function o(){if(!eb.length)return!1;for(var a=0;a<eb.length;a++)eb[a]();return eb.length=0,!0}function p(){function a(a){b&&b.state_===kb&&!d&&b.check_(a)}var b,c,d=!1,e=!0;return{open:function(c){if(b)throw Error("ObservedObject in use");e||Object.deliverChangeRecords(a),b=c,e=!1},observe:function(b,d){c=b,d?Array.observe(c,a):Object.observe(c,a)},deliver:function(b){d=b,Object.deliverChangeRecords(a),d=!1},close:function(){b=void 0,Object.unobserve(c,a),gb.push(this)}}}function q(a,b,c){var d=gb.pop()||p();return d.open(a),d.observe(b,c),d}function r(){function a(b){if(f(b)){var c=j.indexOf(b);c>=0?(j[c]=void 0,i.push(b)):i.indexOf(b)<0&&(i.push(b),Object.observe(b,e)),a(Object.getPrototypeOf(b))}}function b(){var b=j===hb?[]:j;j=i,i=b;var c;for(var d in g)c=g[d],c&&c.state_==kb&&c.iterateObjects_(a);for(var f=0;f<j.length;f++){var h=j[f];h&&Object.unobserve(h,e)}j.length=0}function c(){l=!1,k&&b()}function d(){l||(k=!0,l=!0,fb(c))}function e(){b();var a;for(var c in g)a=g[c],a&&a.state_==kb&&a.check_()}var g=[],h=0,i=[],j=hb,k=!1,l=!1,m={object:void 0,objects:i,open:function(b){g[b.id_]=b,h++,b.iterateObjects_(a)},close:function(a){if(g[a.id_]=void 0,h--,h)return void d();k=!1;for(var b=0;b<i.length;b++)Object.unobserve(i[b],e),t.unobservedCount++;g.length=0,i.length=0,ib.push(this)},reset:d};return m}function s(a,b){return cb&&cb.object===b||(cb=ib.pop()||r(),cb.object=b),cb.open(a),cb}function t(){this.state_=jb,this.callback_=void 0,this.target_=void 0,this.directObserver_=void 0,this.value_=void 0,this.id_=nb++}function u(a){t._allObserversCount++,pb&&ob.push(a)}function v(){t._allObserversCount--}function w(a){t.call(this),this.value_=a,this.oldObject_=void 0}function x(a){if(!Array.isArray(a))throw Error("Provided object is not an Array");w.call(this,a)}function y(a,b){t.call(this),this.object_=a,this.path_=b instanceof i?b:j(b),this.directObserver_=void 0}function z(){t.call(this),this.value_=[],this.directObserver_=void 0,this.observed_=[]}function A(a){return a}function B(a,b,c,d){this.callback_=void 0,this.target_=void 0,this.value_=void 0,this.observable_=a,this.getValueFn_=b||A,this.setValueFn_=c||A,this.dontPassThroughSet_=d}function C(a,b){if("function"==typeof Object.observe){var c=Object.getNotifier(a);return function(d,e){var f={object:a,type:d,name:b};2===arguments.length&&(f.oldValue=e),c.notify(f)}}}function D(a,b,c){for(var d={},e={},f=0;f<b.length;f++){var g=b[f];tb[g.type]?(g.name in c||(c[g.name]=g.oldValue),g.type!=M&&(g.type!=L?g.name in d?(delete d[g.name],delete c[g.name]):e[g.name]=!0:g.name in e?delete e[g.name]:d[g.name]=!0)):(console.error("Unknown changeRecord type: "+g.type),console.error(g))}for(var h in d)d[h]=a[h];for(var h in e)e[h]=void 0;var i={};for(var h in c)if(!(h in d||h in e)){var j=a[h];c[h]!==j&&(i[h]=j)}return{added:d,removed:e,changed:i}}function E(a,b,c){return{index:a,removed:b,addedCount:c}}function F(){}function G(a,b,c,d,e,f){return yb.calcSplices(a,b,c,d,e,f)}function H(a,b,c,d){return c>b||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function I(a,b,c,d){for(var e=E(b,c,d),f=!1,g=0,h=0;h<a.length;h++){var i=a[h];if(i.index+=g,!f){var j=H(e.index,e.index+e.removed.length,i.index,i.index+i.addedCount);if(j>=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.index<i.index){var l=e.removed.slice(0,i.index-e.index);Array.prototype.push.apply(l,c),c=l}if(e.index+e.removed.length>i.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.index<e.index&&(e.index=i.index)}else f=!0}else if(e.index<i.index){f=!0,a.splice(h,0,e),h++;var n=e.addedCount-e.removed.length;i.index+=n,g+=n}}}f||a.push(e)}function J(a,b){for(var c=[],f=0;f<b.length;f++){var g=b[f];switch(g.type){case P:I(c,g.index,g.removed.slice(),g.addedCount);break;case L:case M:case O:if(!d(g.name))continue;var h=e(g.name);if(0>h)continue;I(c,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return c}function K(a,b){var c=[];return J(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?void(b.removed[0]!==a[b.index]&&c.push(b)):void(c=c.concat(G(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)))}),c}var L="add",M="update",N="reconfigure",O="delete",P="splice",Q=b(),R=c(),S=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},T="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},U="[$_a-zA-Z]",V="[$_a-zA-Z0-9]",W=U+"+"+V+"*",X="(?:[0-9]|[1-9]+[0-9]+)",Y="(?:"+W+"|"+X+")",Z="(?:"+Y+")(?:\\s*\\.\\s*"+Y+")*",$=new RegExp("^"+Z+"$"),_={},ab={};i.get=j,i.prototype=T({__proto__:[],valid:!0,toString:function(){return this.join(".")},getValueFrom:function(a){for(var b=0;b<this.length;b++){if(null==a)return;a=a[this[b]]}return a},iterateObjects:function(a,b){for(var c=0;c<this.length;c++){if(c&&(a=a[this[c-1]]),!a)return;b(a)}},compiledGetValueFromFn:function(){var a=this.map(function(a){return d(a)?'["'+a+'"]':"."+a}),b="",c="obj";b+="if (obj != null";for(var e=0;e<this.length-1;e++){{this[e]}c+=a[e],b+=" &&\n "+c+" != null"}return b+=")\n",c+=a[e],b+=" return "+c+";\nelse\n return undefined;",new Function("obj",b)},setValueFrom:function(a,b){if(!this.length)return!1;for(var c=0;c<this.length-1;c++){if(!f(a))return!1;a=a[this[c]]}return f(a)?(a[this[c]]=b,!0):!1}});var bb=new i("",_);bb.valid=!1,bb.getValueFrom=bb.setValueFrom=function(){};var cb,db=1e3,eb=[],fb=Q?function(){var a={pingPong:!0},b=!1;return Object.observe(a,function(){o(),b=!1}),function(c){eb.push(c),b||(b=!0,a.pingPong=!a.pingPong)}}():function(){return function(a){eb.push(a)}}(),gb=[],hb=[],ib=[],jb=0,kb=1,lb=2,mb=3,nb=1;t.prototype={open:function(a,b){if(this.state_!=jb)throw Error("Observer has already been opened.");return u(this),this.callback_=a,this.target_=b,this.state_=kb,this.connect_(),this.value_},close:function(){this.state_==kb&&(v(this),this.state_=lb,this.disconnect_(),this.value_=void 0,this.callback_=void 0,this.target_=void 0)},deliver:function(){this.state_==kb&&k(this)},report_:function(a){try{this.callback_.apply(this.target_,a)}catch(b){t._errorThrownDuringCallback=!0,console.error("Exception caught during observer callback: "+(b.stack||b))}},discardChanges:function(){return this.check_(void 0,!0),this.value_}};var ob,pb=!Q;t._allObserversCount=0,pb&&(ob=[]);var qb=!1,rb="function"==typeof Object.deliverAllChangeRecords;a.Platform=a.Platform||{},a.Platform.performMicrotaskCheckpoint=function(){if(!qb){if(rb)return void Object.deliverAllChangeRecords();if(pb){qb=!0;var b,c,d=0;do{d++,c=ob,ob=[],b=!1;for(var e=0;e<c.length;e++){var f=c[e];f.state_==kb&&(f.check_()&&(b=!0),ob.push(f))}o()&&(b=!0)}while(db>d&&b);a.testingExposeCycleCount&&(a.dirtyCheckCycleCount=d),qb=!1}}},pb&&(a.Platform.clearObservers=function(){ob=[]}),w.prototype=T({__proto__:t.prototype,arrayObserve:!1,connect_:function(){Q?this.directObserver_=q(this,this.value_,this.arrayObserve):this.oldObject_=this.copyObject(this.value_)},copyObject:function(a){var b=Array.isArray(a)?[]:{};for(var c in a)b[c]=a[c];return Array.isArray(a)&&(b.length=a.length),b},check_:function(a){var b,c;if(Q){if(!a)return!1;c={},b=D(this.value_,a,c)}else c=this.oldObject_,b=n(this.value_,this.oldObject_);return m(b)?!1:(Q||(this.oldObject_=this.copyObject(this.value_)),this.report_([b.added||{},b.removed||{},b.changed||{},function(a){return c[a]}]),!0)},disconnect_:function(){Q?(this.directObserver_.close(),this.directObserver_=void 0):this.oldObject_=void 0},deliver:function(){this.state_==kb&&(Q?this.directObserver_.deliver(!1):k(this))},discardChanges:function(){return this.directObserver_?this.directObserver_.deliver(!0):this.oldObject_=this.copyObject(this.value_),this.value_}}),x.prototype=T({__proto__:w.prototype,arrayObserve:!0,copyObject:function(a){return a.slice()},check_:function(a){var b;if(Q){if(!a)return!1;b=K(this.value_,a)}else b=G(this.value_,0,this.value_.length,this.oldObject_,0,this.oldObject_.length);return b&&b.length?(Q||(this.oldObject_=this.copyObject(this.value_)),this.report_([b]),!0):!1}}),x.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e<c.index+c.addedCount;)d.push(b[e]),e++;Array.prototype.splice.apply(a,d)})},y.prototype=T({__proto__:t.prototype,connect_:function(){Q&&(this.directObserver_=s(this,this.object_)),this.check_(void 0,!0)},disconnect_:function(){this.value_=void 0,this.directObserver_&&(this.directObserver_.close(this),this.directObserver_=void 0)},iterateObjects_:function(a){this.path_.iterateObjects(this.object_,a)},check_:function(a,b){var c=this.value_;return this.value_=this.path_.getValueFrom(this.object_),b||g(this.value_,c)?!1:(this.report_([this.value_,c]),!0)},setValue:function(a){this.path_&&this.path_.setValueFrom(this.object_,a)}});var sb={};z.prototype=T({__proto__:t.prototype,connect_:function(){if(this.check_(void 0,!0),Q){for(var a,b=!1,c=0;c<this.observed_.length;c+=2)if(a=this.observed_[c],a!==sb){b=!0;break}return this.directObserver_?b?void this.directObserver_.reset():(this.directObserver_.close(),void(this.directObserver_=void 0)):void(b&&(this.directObserver_=s(this,a)))}},closeObservers_:function(){for(var a=0;a<this.observed_.length;a+=2)this.observed_[a]===sb&&this.observed_[a+1].close();this.observed_.length=0},disconnect_:function(){this.value_=void 0,this.directObserver_&&(this.directObserver_.close(this),this.directObserver_=void 0),this.closeObservers_()},addPath:function(a,b){if(this.state_!=jb&&this.state_!=mb)throw Error("Cannot add paths once started.");this.observed_.push(a,b instanceof i?b:j(b))},addObserver:function(a){if(this.state_!=jb&&this.state_!=mb)throw Error("Cannot add observers once started.");a.open(this.deliver,this),this.observed_.push(sb,a)},startReset:function(){if(this.state_!=kb)throw Error("Can only reset while open");this.state_=mb,this.closeObservers_()},finishReset:function(){if(this.state_!=mb)throw Error("Can only finishReset after startReset");return this.state_=kb,this.connect_(),this.value_},iterateObjects_:function(a){for(var b,c=0;c<this.observed_.length;c+=2)b=this.observed_[c],b!==sb&&this.observed_[c+1].iterateObjects(b,a)},check_:function(a,b){for(var c,d=0;d<this.observed_.length;d+=2){var e=this.observed_[d+1],f=this.observed_[d],h=f===sb?e.discardChanges():e.getValueFrom(f);b?this.value_[d/2]=h:g(h,this.value_[d/2])||(c=c||[],c[d/2]=this.value_[d/2],this.value_[d/2]=h)}return c?(this.report_([this.value_,c,this.observed_]),!0):!1}}),B.prototype={open:function(a,b){return this.callback_=a,this.target_=b,this.value_=this.getValueFn_(this.observable_.open(this.observedCallback_,this)),this.value_},observedCallback_:function(a){if(a=this.getValueFn_(a),!g(a,this.value_)){var b=this.value_;this.value_=a,this.callback_.call(this.target_,this.value_,b)}},discardChanges:function(){return this.value_=this.getValueFn_(this.observable_.discardChanges()),this.value_},deliver:function(){return this.observable_.deliver()},setValue:function(a){return a=this.setValueFn_(a),!this.dontPassThroughSet_&&this.observable_.setValue?this.observable_.setValue(a):void 0},close:function(){this.observable_&&this.observable_.close(),this.callback_=void 0,this.target_=void 0,this.observable_=void 0,this.value_=void 0,this.getValueFn_=void 0,this.setValueFn_=void 0}};var tb={};tb[L]=!0,tb[M]=!0,tb[O]=!0,t.defineComputedProperty=function(a,b,c){var d=C(a,b),e=c.open(function(a,b){e=a,d&&d(M,b)});return Object.defineProperty(a,b,{get:function(){return c.deliver(),e},set:function(a){return c.setValue(a),a},configurable:!0}),{close:function(){c.close(),Object.defineProperty(a,b,{value:e,writable:!0,configurable:!0})}}};var ub=0,vb=1,wb=2,xb=3;F.prototype={calcEditDistances:function(a,b,c,d,e,f){for(var g=f-e+1,h=c-b+1,i=new Array(g),j=0;g>j;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(this.equals(a[b+k-1],d[e+j-1]))i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i},spliceOperationsFromEditDistances:function(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(ub):(e.push(vb),d=g),b--,c--):f==h?(e.push(xb),b--,d=h):(e.push(wb),c--,d=i)}else e.push(xb),b--;else e.push(wb),c--;return e.reverse(),e},calcSplices:function(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=this.sharedPrefix(a,d,i)),c==a.length&&f==d.length&&(h=this.sharedSuffix(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,c-b==0&&f-e==0)return[];if(b==c){for(var j=E(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[E(b,[],c-b)];for(var k=this.spliceOperationsFromEditDistances(this.calcEditDistances(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;o<k.length;o++)switch(k[o]){case ub:j&&(l.push(j),j=void 0),m++,n++;break;case vb:j||(j=E(m,[],0)),j.addedCount++,m++,j.removed.push(d[n]),n++;break;case wb:j||(j=E(m,[],0)),j.addedCount++,m++;break;case xb:j||(j=E(m,[],0)),j.removed.push(d[n]),n++}return j&&l.push(j),l},sharedPrefix:function(a,b,c){for(var d=0;c>d;d++)if(!this.equals(a[d],b[d]))return d;return c},sharedSuffix:function(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&this.equals(a[--d],b[--e]);)f++;return f},calculateSplices:function(a,b){return this.calcSplices(a,0,a.length,b,0,b.length)},equals:function(a,b){return a===b}};var yb=new F;a.Observer=t,a.Observer.runEOM_=fb,a.Observer.hasObjectObserve=Q,a.ArrayObserver=x,a.ArrayObserver.calculateSplices=function(a,b){return yb.calculateSplices(a,b)},a.ArraySplice=F,a.ObjectObserver=w,a.PathObserver=y,a.CompoundObserver=z,a.Path=i,a.ObserverTransform=B,a.Observer.changeRecordTypes={add:L,update:M,reconfigure:N,"delete":O,splice:P}}("undefined"!=typeof global&&global&&"undefined"!=typeof module&&module?global:this||window),window.Platform=window.Platform||{},window.logFlags=window.logFlags||{},function(a){var b=a.flags||{};location.search.slice(1).split("&").forEach(function(a){a=a.split("="),a[0]&&(b[a[0]]=a[1]||!0)});var c=document.currentScript||document.querySelector('script[src*="platform.js"]');if(c)for(var d,e=c.attributes,f=0;f<e.length;f++)d=e[f],"src"!==d.name&&(b[d.name]=d.value||!0);b.log&&b.log.split(",").forEach(function(a){window.logFlags[a]=!0}),b.shadow=b.shadow||b.shadowdom||b.polyfill,b.shadow="native"===b.shadow?!1:b.shadow||!HTMLElement.prototype.createShadowRoot,b.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=b.register),b.imports&&(window.HTMLImports=window.HTMLImports||{flags:{}},window.HTMLImports.flags.imports=b.imports),a.flags=b}(Platform),Platform.flags.shadow?(window.ShadowDOMPolyfill={},function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a,b){return L(b).forEach(function(c){K(a,c,M(b,c))}),a}function d(a,b){return L(b).forEach(function(c){switch(c){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":return}K(a,c,M(b,c))}),a}function e(a,b){for(var c=0;c<b.length;c++)if(b[c]in a)return b[c]}function f(a){var b=a.__proto__||Object.getPrototypeOf(a),c=E.get(b);if(c)return c;var d=f(b),e=t(d);return q(b,e,a),e}function g(a,b){o(a,b,!0)}function h(a,b){o(b,a,!1)}function i(a){return/^on[a-z]+$/.test(a)}function j(a){return/^\w[a-zA-Z_0-9]*$/.test(a)}function k(a){return H&&j(a)?new Function("return this.impl."+a):function(){return this.impl[a]}}function l(a){return H&&j(a)?new Function("v","this.impl."+a+" = v"):function(b){this.impl[a]=b}}function m(a){return H&&j(a)?new Function("return this.impl."+a+".apply(this.impl, arguments)"):function(){return this.impl[a].apply(this.impl,arguments)}}function n(a,b){try{return Object.getOwnPropertyDescriptor(a,b)}catch(c){return O}}function o(b,c,d){for(var e=L(b),f=0;f<e.length;f++){var g=e[f];if("polymerBlackList_"!==g&&!(g in c||b.polymerBlackList_&&b.polymerBlackList_[g])){N&&b.__lookupGetter__(g);var h,j,o=n(b,g);if(d&&"function"==typeof o.value)c[g]=m(g);else{var p=i(g);h=p?a.getEventHandlerGetter(g):k(g),(o.writable||o.set)&&(j=p?a.getEventHandlerSetter(g):l(g)),K(c,g,{get:h,set:j,configurable:o.configurable,enumerable:o.enumerable})}}}}function p(a,b,c){var e=a.prototype;q(e,b,c),d(b,a)}function q(a,c,d){var e=c.prototype;b(void 0===E.get(a)),E.set(a,c),F.set(e,a),g(a,e),d&&h(e,d),K(e,"constructor",{value:c,configurable:!0,enumerable:!1,writable:!0}),c.prototype=e}function r(a,b){return E.get(b.prototype)===a}function s(a){var b=Object.getPrototypeOf(a),c=f(b),d=t(c);return q(b,d,a),d}function t(a){function b(b){a.call(this,b)}var c=Object.create(a.prototype);return c.constructor=b,b.prototype=c,b}function u(a){return a instanceof G.EventTarget||a instanceof G.Event||a instanceof G.Range||a instanceof G.DOMImplementation||a instanceof G.CanvasRenderingContext2D||G.WebGLRenderingContext&&a instanceof G.WebGLRenderingContext}function v(a){return Q&&a instanceof Q||a instanceof S||a instanceof R||a instanceof T||a instanceof U||a instanceof P||a instanceof V||W&&a instanceof W||X&&a instanceof X}function w(a){return null===a?null:(b(v(a)),a.polymerWrapper_||(a.polymerWrapper_=new(f(a))(a)))}function x(a){return null===a?null:(b(u(a)),a.impl)}function y(a){return a&&u(a)?x(a):a}function z(a){return a&&!u(a)?w(a):a}function A(a,c){null!==c&&(b(v(a)),b(void 0===c||u(c)),a.polymerWrapper_=c)}function B(a,b,c){K(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function C(a,b){B(a,b,function(){return w(this.impl[b])})}function D(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=z(this);return a[b].apply(a,arguments)}})})}var E=new WeakMap,F=new WeakMap,G=Object.create(null),H=!("securityPolicy"in document)||document.securityPolicy.allowsEval;if(H)try{var I=new Function("","return true;");H=I()}catch(J){H=!1}var K=Object.defineProperty,L=Object.getOwnPropertyNames,M=Object.getOwnPropertyDescriptor;L(window);var N=/Firefox/.test(navigator.userAgent),O={get:function(){},set:function(){},configurable:!0,enumerable:!0},P=window.DOMImplementation,Q=window.EventTarget,R=window.Event,S=window.Node,T=window.Window,U=window.Range,V=window.CanvasRenderingContext2D,W=window.WebGLRenderingContext,X=window.SVGElementInstance;a.assert=b,a.constructorTable=E,a.defineGetter=B,a.defineWrapGetter=C,a.forwardMethodsToWrapper=D,a.isWrapper=u,a.isWrapperFor=r,a.mixin=c,a.nativePrototypeTable=F,a.oneOf=e,a.registerObject=s,a.registerWrapper=p,a.rewrap=A,a.unwrap=x,a.unwrapIfNeeded=y,a.wrap=w,a.wrapIfNeeded=z,a.wrappers=G}(window.ShadowDOMPolyfill),function(a){"use strict";function b(){g=!1;var a=f.slice(0);f=[];for(var b=0;b<a.length;b++)a[b]()}function c(a){f.push(a),g||(g=!0,d(b,0))}var d,e=window.MutationObserver,f=[],g=!1;if(e){var h=1,i=new e(b),j=document.createTextNode(h);i.observe(j,{characterData:!0}),d=function(){h=(h+1)%2,j.data=h}}else d=window.setImmediate||window.setTimeout;a.setEndOfMicrotask=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(){p||(k(c),p=!0)}function c(){p=!1;do for(var a=o.slice(),b=!1,c=0;c<a.length;c++){var d=a[c],e=d.takeRecords();f(d),e.length&&(d.callback_(e,d),b=!0)}while(b)}function d(a,b){this.type=a,this.target=b,this.addedNodes=new m.NodeList,this.removedNodes=new m.NodeList,this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function e(a,b){for(;a;a=a.parentNode){var c=n.get(a);if(c)for(var d=0;d<c.length;d++){var e=c[d];e.options.subtree&&e.addTransientObserver(b)}}}function f(a){for(var b=0;b<a.nodes_.length;b++){var c=a.nodes_[b],d=n.get(c);if(!d)return;for(var e=0;e<d.length;e++){var f=d[e];f.observer===a&&f.removeTransientObservers()}}}function g(a,c,e){for(var f=Object.create(null),g=Object.create(null),h=a;h;h=h.parentNode){var i=n.get(h);if(i)for(var j=0;j<i.length;j++){var k=i[j],l=k.options;if((h===a||l.subtree)&&!("attributes"===c&&!l.attributes||"attributes"===c&&l.attributeFilter&&(null!==e.namespace||-1===l.attributeFilter.indexOf(e.name))||"characterData"===c&&!l.characterData||"childList"===c&&!l.childList)){var m=k.observer;f[m.uid_]=m,("attributes"===c&&l.attributeOldValue||"characterData"===c&&l.characterDataOldValue)&&(g[m.uid_]=e.oldValue)}}}var o=!1;for(var p in f){var m=f[p],q=new d(c,a);"name"in e&&"namespace"in e&&(q.attributeName=e.name,q.attributeNamespace=e.namespace),e.addedNodes&&(q.addedNodes=e.addedNodes),e.removedNodes&&(q.removedNodes=e.removedNodes),e.previousSibling&&(q.previousSibling=e.previousSibling),e.nextSibling&&(q.nextSibling=e.nextSibling),void 0!==g[p]&&(q.oldValue=g[p]),m.records_.push(q),o=!0}o&&b()}function h(a){if(this.childList=!!a.childList,this.subtree=!!a.subtree,this.attributes="attributes"in a||!("attributeOldValue"in a||"attributeFilter"in a)?!!a.attributes:!0,this.characterData="characterDataOldValue"in a&&!("characterData"in a)?!0:!!a.characterData,!this.attributes&&(a.attributeOldValue||"attributeFilter"in a)||!this.characterData&&a.characterDataOldValue)throw new TypeError;if(this.characterData=!!a.characterData,this.attributeOldValue=!!a.attributeOldValue,this.characterDataOldValue=!!a.characterDataOldValue,"attributeFilter"in a){if(null==a.attributeFilter||"object"!=typeof a.attributeFilter)throw new TypeError;this.attributeFilter=q.call(a.attributeFilter)}else this.attributeFilter=null}function i(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++r,o.push(this)}function j(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}var k=a.setEndOfMicrotask,l=a.wrapIfNeeded,m=a.wrappers,n=new WeakMap,o=[],p=!1,q=Array.prototype.slice,r=0;i.prototype={observe:function(a,b){a=l(a);var c,d=new h(b),e=n.get(a);e||n.set(a,e=[]);for(var f=0;f<e.length;f++)e[f].observer===this&&(c=e[f],c.removeTransientObservers(),c.options=d);c||(c=new j(this,a,d),e.push(c),this.nodes_.push(a))},disconnect:function(){this.nodes_.forEach(function(a){for(var b=n.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}},j.prototype={addTransientObserver:function(a){if(a!==this.target){this.transientObservedNodes.push(a);var b=n.get(a);b||n.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[];for(var b=0;b<a.length;b++)for(var c=a[b],d=n.get(c),e=0;e<d.length;e++)if(d[e]===this){d.splice(e,1);break}}},a.enqueueMutation=g,a.registerTransientObservers=e,a.wrappers.MutationObserver=i,a.wrappers.MutationRecord=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){this.root=a,this.parent=b}function c(a,b){if(a.treeScope_!==b){a.treeScope_=b;for(var d=a.firstChild;d;d=d.nextSibling)c(d,b)}}function d(a){if(a.treeScope_)return a.treeScope_;var c,e=a.parentNode;return c=e?d(e):new b(a,null),a.treeScope_=c}b.prototype={get renderer(){return this.root instanceof a.wrappers.ShadowRoot?a.getRendererForHost(this.root.host):null},contains:function(a){for(;a;a=a.parent)if(a===this)return!0;return!1}},a.TreeScope=b,a.getTreeScope=d,a.setTreeScope=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof P.ShadowRoot}function c(a){var b=a.localName;return"content"===b||"shadow"===b}function d(a){return!!a.shadowRoot}function e(a){var b;return a.parentNode||(b=a.defaultView)&&O(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return j(f)||f.host;var i=a.eventParentsTable.get(f);if(i){for(var k=1;k<i.length;k++)h[k-1]=i[k];return i[0]}if(g&&c(f)){var l=f.parentNode;if(l&&d(l))for(var m=a.getShadowTrees(l),n=j(g),k=0;k<m.length;k++)if(m[k].contains(n))return n}return e(f)}function g(a){for(var d=[],e=a,g=[],i=[];e;){var j=null;if(c(e)){j=h(d);var k=d[d.length-1]||e;d.push(k)}else d.length||d.push(e);var l=d[d.length-1];g.push({target:l,currentTarget:e}),b(e)&&d.pop(),e=f(e,j,i)}return g}function h(a){for(var b=a.length-1;b>=0;b--)if(!c(a[b]))return a[b];return null}function i(a,d){for(var e=[];a;){for(var g=[],i=d,j=void 0;i;){var m=null;if(g.length){if(c(i)&&(m=h(g),k(j))){var n=g[g.length-1];g.push(n)}}else g.push(i);if(l(i,a))return g[g.length-1];b(i)&&g.pop(),j=i,i=f(i,m,e)}a=b(a)?a.host:a.parentNode}}function j(b){return a.insertionParentTable.get(b)}function k(a){return j(a)}function l(a,b){return K(a)===K(b)}function m(a){return R.get(a)?void 0:(R.set(a,!0),n(O(a),O(a.target)))}function n(b,c){if(S.get(b))throw new Error("InvalidStateError");S.set(b,!0),a.renderAllPending();var d=g(c);return"load"===b.type&&2===d.length&&d[0].target instanceof P.Document&&d.shift(),$.set(b,d),o(b,d)&&p(b,d)&&q(b,d),W.set(b,t.NONE),U.delete(b,null),S.delete(b),b.defaultPrevented}function o(a,b){for(var c,d=b.length-1;d>0;d--){var e=b[d].target,f=b[d].currentTarget;if(e!==f&&(c=t.CAPTURING_PHASE,!r(b[d],a,c)))return!1}return!0}function p(a,b){var c=t.AT_TARGET;return r(b[0],a,c)}function q(a,b){for(var c,d=a.bubbles,e=1;e<b.length;e++){var f=b[e].target,g=b[e].currentTarget;if(f===g)c=t.AT_TARGET;else{if(!d||Y.get(a))continue;c=t.BUBBLING_PHASE}if(!r(b[e],a,c))return}}function r(a,b,c){var d=a.target,e=a.currentTarget,f=Q.get(e);if(!f)return!0;if("relatedTarget"in b){var g=N(b);if(g.relatedTarget){var h=O(g.relatedTarget),j=i(e,h);if(j===d)return!0;V.set(b,j)}}W.set(b,c);var k=b.type,l=!1;T.set(b,d),U.set(b,e);for(var m=0;m<f.length;m++){var n=f[m];if(n.removed)l=!0;else if(!(n.type!==k||!n.capture&&c===t.CAPTURING_PHASE||n.capture&&c===t.BUBBLING_PHASE))try{if("function"==typeof n.handler?n.handler.call(e,b):n.handler.handleEvent(b),Y.get(b))return!1}catch(o){window.onerror?window.onerror(o.message):console.error(o,o.stack)}}if(l){var p=f.slice();f.length=0;for(var m=0;m<p.length;m++)p[m].removed||f.push(p[m])}return!X.get(b)}function s(a,b,c){this.type=a,this.handler=b,this.capture=Boolean(c)}function t(a,b){return a instanceof _?void(this.impl=a):O(x(_,"Event",a,b))}function u(a){return a&&a.relatedTarget?Object.create(a,{relatedTarget:{value:N(a.relatedTarget)}}):a}function v(a,b,c){var d=window[a],e=function(b,c){return b instanceof d?void(this.impl=b):O(x(d,a,b,c))};if(e.prototype=Object.create(b.prototype),c&&L(e.prototype,c),d)try{M(d,e,new d("temp"))}catch(f){M(d,e,document.createEvent(a))}return e}function w(a,b){return function(){arguments[b]=N(arguments[b]);var c=N(this);c[a].apply(c,arguments)}}function x(a,b,c,d){if(ib)return new a(c,u(d));var e=N(document.createEvent(b)),f=hb[b],g=[c];return Object.keys(f).forEach(function(a){var b=null!=d&&a in d?d[a]:f[a];"relatedTarget"===a&&(b=N(b)),g.push(b)}),e["init"+b].apply(e,g),e}function y(){t.call(this)}function z(a){return"function"==typeof a?!0:a&&a.handleEvent}function A(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function B(a){this.impl=a}function C(a){return a instanceof P.ShadowRoot&&(a=a.host),N(a)}function D(a,b){var c=Q.get(a);if(c)for(var d=0;d<c.length;d++)if(!c[d].removed&&c[d].type===b)return!0;return!1}function E(a,b){for(var c=N(a);c;c=c.parentNode)if(D(O(c),b))return!0;return!1}function F(a){J(a,lb)}function G(b,c,d,e){a.renderAllPending();for(var f=O(mb.call(c.impl,d,e)),h=g(f,this),i=0;i<h.length;i++){var j=h[i];if(j.currentTarget===b)return j.target}return null}function H(a){return function(){var b=Z.get(this);return b&&b[a]&&b[a].value||null}}function I(a){var b=a.slice(2);return function(c){var d=Z.get(this);d||(d=Object.create(null),Z.set(this,d));var e=d[a];if(e&&this.removeEventListener(b,e.wrapped,!1),"function"==typeof c){var f=function(b){var d=c.call(this,b);d===!1?b.preventDefault():"onbeforeunload"===a&&"string"==typeof d&&(b.returnValue=d)};this.addEventListener(b,f,!1),d[a]={value:c,wrapped:f}}}}var J=a.forwardMethodsToWrapper,K=a.getTreeScope,L=a.mixin,M=a.registerWrapper,N=a.unwrap,O=a.wrap,P=a.wrappers,Q=(new WeakMap,new WeakMap),R=new WeakMap,S=new WeakMap,T=new WeakMap,U=new WeakMap,V=new WeakMap,W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap;s.prototype={equals:function(a){return this.handler===a.handler&&this.type===a.type&&this.capture===a.capture},get removed(){return null===this.handler},remove:function(){this.handler=null}};var _=window.Event;_.prototype.polymerBlackList_={returnValue:!0,keyLocation:!0},t.prototype={get target(){return T.get(this)},get currentTarget(){return U.get(this)},get eventPhase(){return W.get(this)},get path(){var a=new P.NodeList,b=$.get(this);if(b){for(var c=0,d=b.length-1,e=K(U.get(this)),f=0;d>=f;f++){var g=b[f].currentTarget,h=K(g);h.contains(e)&&(f!==d||g instanceof P.Node)&&(a[c++]=g)}a.length=c}return a},stopPropagation:function(){X.set(this,!0)},stopImmediatePropagation:function(){X.set(this,!0),Y.set(this,!0)}},M(_,t,document.createEvent("Event"));
-var ab=v("UIEvent",t),bb=v("CustomEvent",t),cb={get relatedTarget(){return V.get(this)||O(N(this).relatedTarget)}},db=L({initMouseEvent:w("initMouseEvent",14)},cb),eb=L({initFocusEvent:w("initFocusEvent",5)},cb),fb=v("MouseEvent",ab,db),gb=v("FocusEvent",ab,eb),hb=Object.create(null),ib=function(){try{new window.FocusEvent("focus")}catch(a){return!1}return!0}();if(!ib){var jb=function(a,b,c){if(c){var d=hb[c];b=L(L({},d),b)}hb[a]=b};jb("Event",{bubbles:!1,cancelable:!1}),jb("CustomEvent",{detail:null},"Event"),jb("UIEvent",{view:null,detail:0},"Event"),jb("MouseEvent",{screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null},"UIEvent"),jb("FocusEvent",{relatedTarget:null},"UIEvent")}y.prototype=Object.create(t.prototype),L(y.prototype,{get returnValue(){return this.impl.returnValue},set returnValue(a){this.impl.returnValue=a}});var kb=window.EventTarget,lb=["addEventListener","removeEventListener","dispatchEvent"];[Node,Window].forEach(function(a){var b=a.prototype;lb.forEach(function(a){Object.defineProperty(b,a+"_",{value:b[a]})})}),B.prototype={addEventListener:function(a,b,c){if(z(b)&&!A(a)){var d=new s(a,b,c),e=Q.get(this);if(e){for(var f=0;f<e.length;f++)if(d.equals(e[f]))return}else e=[],Q.set(this,e);e.push(d);var g=C(this);g.addEventListener_(a,m,!0)}},removeEventListener:function(a,b,c){c=Boolean(c);var d=Q.get(this);if(d){for(var e=0,f=!1,g=0;g<d.length;g++)d[g].type===a&&d[g].capture===c&&(e++,d[g].handler===b&&(f=!0,d[g].remove()));if(f&&1===e){var h=C(this);h.removeEventListener_(a,m,!0)}}},dispatchEvent:function(b){var c=N(b),d=c.type;R.set(c,!1),a.renderAllPending();var e;E(this,d)||(e=function(){},this.addEventListener(d,e,!0));try{return N(this).dispatchEvent_(c)}finally{e&&this.removeEventListener(d,e,!0)}}},kb&&M(kb,B);var mb=document.elementFromPoint;a.adjustRelatedTarget=i,a.elementFromPoint=G,a.getEventHandlerGetter=H,a.getEventHandlerSetter=I,a.wrapEventTargetMethods=F,a.wrappers.BeforeUnloadEvent=y,a.wrappers.CustomEvent=bb,a.wrappers.Event=t,a.wrappers.EventTarget=B,a.wrappers.FocusEvent=gb,a.wrappers.MouseEvent=fb,a.wrappers.UIEvent=ab}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){Object.defineProperty(a,b,{enumerable:!1})}function c(){this.length=0,b(this,"length")}function d(a){if(null==a)return a;for(var b=new c,d=0,e=a.length;e>d;d++)b[d]=f(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(this.impl[b].apply(this.impl,arguments))}}var f=a.wrap;c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(window.ShadowDOMPolyfill),function(a){"use strict";a.wrapHTMLCollection=a.wrapNodeList,a.wrappers.HTMLCollection=a.wrappers.NodeList}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){A(a instanceof w)}function c(a){var b=new y;return b[0]=a,b.length=1,b}function d(a,b,c){C(b,"childList",{removedNodes:c,previousSibling:a.previousSibling,nextSibling:a.nextSibling})}function e(a,b){C(a,"childList",{removedNodes:b})}function f(a,b,d,e){if(a instanceof DocumentFragment){var f=h(a);N=!0;for(var g=f.length-1;g>=0;g--)a.removeChild(f[g]),f[g].parentNode_=b;N=!1;for(var g=0;g<f.length;g++)f[g].previousSibling_=f[g-1]||d,f[g].nextSibling_=f[g+1]||e;return d&&(d.nextSibling_=f[0]),e&&(e.previousSibling_=f[f.length-1]),f}var f=c(a),i=a.parentNode;return i&&i.removeChild(a),a.parentNode_=b,a.previousSibling_=d,a.nextSibling_=e,d&&(d.nextSibling_=a),e&&(e.previousSibling_=a),f}function g(a){if(a instanceof DocumentFragment)return h(a);var b=c(a),e=a.parentNode;return e&&d(a,e,b),b}function h(a){for(var b=new y,c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b.length=c,e(a,b),b}function i(a){return a}function j(a,b){I(a,b),a.nodeIsInserted_()}function k(a,b){for(var c=D(b),d=0;d<a.length;d++)j(a[d],c)}function l(a){I(a,new z(a,null))}function m(a){for(var b=0;b<a.length;b++)l(a[b])}function n(a,b){var c=a.nodeType===w.DOCUMENT_NODE?a:a.ownerDocument;c!==b.ownerDocument&&c.adoptNode(b)}function o(b,c){if(c.length){var d=b.ownerDocument;if(d!==c[0].ownerDocument)for(var e=0;e<c.length;e++)a.adoptNodeNoRemove(c[e],d)}}function p(a,b){o(a,b);var c=b.length;if(1===c)return J(b[0]);for(var d=J(a.ownerDocument.createDocumentFragment()),e=0;c>e;e++)d.appendChild(J(b[e]));return d}function q(a){if(void 0!==a.firstChild_)for(var b=a.firstChild_;b;){var c=b;b=b.nextSibling_,c.parentNode_=c.previousSibling_=c.nextSibling_=void 0}a.firstChild_=a.lastChild_=void 0}function r(a){if(a.invalidateShadowRenderer()){for(var b=a.firstChild;b;){A(b.parentNode===a);var c=b.nextSibling,d=J(b),e=d.parentNode;e&&U.call(e,d),b.previousSibling_=b.nextSibling_=b.parentNode_=null,b=c}a.firstChild_=a.lastChild_=null}else for(var c,f=J(a),g=f.firstChild;g;)c=g.nextSibling,U.call(f,g),g=c}function s(a){var b=a.parentNode;return b&&b.invalidateShadowRenderer()}function t(a){for(var b,c=0;c<a.length;c++)b=a[c],b.parentNode.removeChild(b)}function u(a,b,c){var d;if(d=K(c?O.call(c,a.impl,!1):P.call(a.impl,!1)),b){for(var e=a.firstChild;e;e=e.nextSibling)d.appendChild(u(e,!0,c));if(a instanceof M.HTMLTemplateElement)for(var f=d.content,e=a.content.firstChild;e;e=e.nextSibling)f.appendChild(u(e,!0,c))}return d}function v(a,b){if(!b||D(a)!==D(b))return!1;for(var c=b;c;c=c.parentNode)if(c===a)return!0;return!1}function w(a){A(a instanceof Q),x.call(this,a),this.parentNode_=void 0,this.firstChild_=void 0,this.lastChild_=void 0,this.nextSibling_=void 0,this.previousSibling_=void 0,this.treeScope_=void 0}var x=a.wrappers.EventTarget,y=a.wrappers.NodeList,z=a.TreeScope,A=a.assert,B=a.defineWrapGetter,C=a.enqueueMutation,D=a.getTreeScope,E=a.isWrapper,F=a.mixin,G=a.registerTransientObservers,H=a.registerWrapper,I=a.setTreeScope,J=a.unwrap,K=a.wrap,L=a.wrapIfNeeded,M=a.wrappers,N=!1,O=document.importNode,P=window.Node.prototype.cloneNode,Q=window.Node,R=window.DocumentFragment,S=(Q.prototype.appendChild,Q.prototype.compareDocumentPosition),T=Q.prototype.insertBefore,U=Q.prototype.removeChild,V=Q.prototype.replaceChild,W=/Trident/.test(navigator.userAgent),X=W?function(a,b){try{U.call(a,b)}catch(c){if(!(a instanceof R))throw c}}:function(a,b){U.call(a,b)};w.prototype=Object.create(x.prototype),F(w.prototype,{appendChild:function(a){return this.insertBefore(a,null)},insertBefore:function(a,c){b(a);var d;c?E(c)?d=J(c):(d=c,c=K(d)):(c=null,d=null),c&&A(c.parentNode===this);var e,h=c?c.previousSibling:this.lastChild,i=!this.invalidateShadowRenderer()&&!s(a);if(e=i?g(a):f(a,this,h,c),i)n(this,a),q(this),T.call(this.impl,J(a),d);else{h||(this.firstChild_=e[0]),c||(this.lastChild_=e[e.length-1]);var j=d?d.parentNode:this.impl;j?T.call(j,p(this,e),d):o(this,e)}return C(this,"childList",{addedNodes:e,nextSibling:c,previousSibling:h}),k(e,this),a},removeChild:function(a){if(b(a),a.parentNode!==this){for(var d=!1,e=(this.childNodes,this.firstChild);e;e=e.nextSibling)if(e===a){d=!0;break}if(!d)throw new Error("NotFoundError")}var f=J(a),g=a.nextSibling,h=a.previousSibling;if(this.invalidateShadowRenderer()){var i=this.firstChild,j=this.lastChild,k=f.parentNode;k&&X(k,f),i===a&&(this.firstChild_=g),j===a&&(this.lastChild_=h),h&&(h.nextSibling_=g),g&&(g.previousSibling_=h),a.previousSibling_=a.nextSibling_=a.parentNode_=void 0}else q(this),X(this.impl,f);return N||C(this,"childList",{removedNodes:c(a),nextSibling:g,previousSibling:h}),G(this,a),a},replaceChild:function(a,d){b(a);var e;if(E(d)?e=J(d):(e=d,d=K(e)),d.parentNode!==this)throw new Error("NotFoundError");var h,i=d.nextSibling,j=d.previousSibling,m=!this.invalidateShadowRenderer()&&!s(a);return m?h=g(a):(i===a&&(i=a.nextSibling),h=f(a,this,j,i)),m?(n(this,a),q(this),V.call(this.impl,J(a),e)):(this.firstChild===d&&(this.firstChild_=h[0]),this.lastChild===d&&(this.lastChild_=h[h.length-1]),d.previousSibling_=d.nextSibling_=d.parentNode_=void 0,e.parentNode&&V.call(e.parentNode,p(this,h),e)),C(this,"childList",{addedNodes:h,removedNodes:c(d),nextSibling:i,previousSibling:j}),l(d),k(h,this),d},nodeIsInserted_:function(){for(var a=this.firstChild;a;a=a.nextSibling)a.nodeIsInserted_()},hasChildNodes:function(){return null!==this.firstChild},get parentNode(){return void 0!==this.parentNode_?this.parentNode_:K(this.impl.parentNode)},get firstChild(){return void 0!==this.firstChild_?this.firstChild_:K(this.impl.firstChild)},get lastChild(){return void 0!==this.lastChild_?this.lastChild_:K(this.impl.lastChild)},get nextSibling(){return void 0!==this.nextSibling_?this.nextSibling_:K(this.impl.nextSibling)},get previousSibling(){return void 0!==this.previousSibling_?this.previousSibling_:K(this.impl.previousSibling)},get parentElement(){for(var a=this.parentNode;a&&a.nodeType!==w.ELEMENT_NODE;)a=a.parentNode;return a},get textContent(){for(var a="",b=this.firstChild;b;b=b.nextSibling)b.nodeType!=w.COMMENT_NODE&&(a+=b.textContent);return a},set textContent(a){var b=i(this.childNodes);if(this.invalidateShadowRenderer()){if(r(this),""!==a){var c=this.impl.ownerDocument.createTextNode(a);this.appendChild(c)}}else q(this),this.impl.textContent=a;var d=i(this.childNodes);C(this,"childList",{addedNodes:d,removedNodes:b}),m(b),k(d,this)},get childNodes(){for(var a=new y,b=0,c=this.firstChild;c;c=c.nextSibling)a[b++]=c;return a.length=b,a},cloneNode:function(a){return u(this,a)},contains:function(a){return v(this,L(a))},compareDocumentPosition:function(a){return S.call(this.impl,J(a))},normalize:function(){for(var a,b,c=i(this.childNodes),d=[],e="",f=0;f<c.length;f++)b=c[f],b.nodeType===w.TEXT_NODE?a||b.data.length?a?(e+=b.data,d.push(b)):a=b:this.removeNode(b):(a&&d.length&&(a.data+=e,cleanUpNodes(d)),d=[],e="",a=null,b.childNodes.length&&b.normalize());a&&d.length&&(a.data+=e,t(d))}}),B(w,"ownerDocument"),H(Q,w,document.createDocumentFragment()),delete w.prototype.querySelector,delete w.prototype.querySelectorAll,w.prototype=F(Object.create(x.prototype),w.prototype),a.cloneNode=u,a.nodeWasAdded=j,a.nodeWasRemoved=l,a.nodesWereAdded=k,a.nodesWereRemoved=m,a.snapshotNodeList=i,a.wrappers.Node=w}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,c){for(var d,e=a.firstElementChild;e;){if(e.matches(c))return e;if(d=b(e,c))return d;e=e.nextElementSibling}return null}function c(a,b,d){for(var e=a.firstElementChild;e;)e.matches(b)&&(d[d.length++]=e),c(e,b,d),e=e.nextElementSibling;return d}var d={querySelector:function(a){return b(this,a)},querySelectorAll:function(a){return c(this,a,new NodeList)}},e={getElementsByTagName:function(a){return this.querySelectorAll(a)},getElementsByClassName:function(a){return this.querySelectorAll("."+a)},getElementsByTagNameNS:function(a,b){if("*"===a)return this.getElementsByTagName(b);for(var c=new NodeList,d=this.getElementsByTagName(b),e=0,f=0;e<d.length;e++)d[e].namespaceURI===a&&(c[f++]=d[e]);return c.length=f,c}};a.GetElementsByInterface=e,a.SelectorsInterface=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}function c(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}var d=a.wrappers.NodeList,e={get firstElementChild(){return b(this.firstChild)},get lastElementChild(){return c(this.lastChild)},get childElementCount(){for(var a=0,b=this.firstElementChild;b;b=b.nextElementSibling)a++;return a},get children(){for(var a=new d,b=0,c=this.firstElementChild;c;c=c.nextElementSibling)a[b++]=c;return a.length=b,a}},f={get nextElementSibling(){return b(this.nextSibling)},get previousElementSibling(){return c(this.previousSibling)}};a.ChildNodeInterface=f,a.ParentNodeInterface=e}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}var c=a.ChildNodeInterface,d=a.wrappers.Node,e=a.enqueueMutation,f=a.mixin,g=a.registerWrapper,h=window.CharacterData;b.prototype=Object.create(d.prototype),f(b.prototype,{get textContent(){return this.data},set textContent(a){this.data=a},get data(){return this.impl.data},set data(a){var b=this.impl.data;e(this,"characterData",{oldValue:b}),this.impl.data=a}}),f(b.prototype,c),g(h,b,document.createTextNode("")),a.wrappers.CharacterData=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a>>>0}function c(a){d.call(this,a)}var d=a.wrappers.CharacterData,e=(a.enqueueMutation,a.mixin),f=a.registerWrapper,g=window.Text;c.prototype=Object.create(d.prototype),e(c.prototype,{splitText:function(a){a=b(a);var c=this.data;if(a>c.length)throw new Error("IndexSizeError");var d=c.slice(0,a),e=c.slice(a);this.data=d;var f=this.ownerDocument.createTextNode(e);return this.parentNode&&this.parentNode.insertBefore(f,this.nextSibling),f}}),f(g,c,document.createTextNode("")),a.wrappers.Text=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b,c){var d=b.parentNode;if(d&&d.shadowRoot){var e=a.getRendererForHost(d);e.dependsOnAttribute(c)&&e.invalidate()}}function c(a,b,c){k(a,"attributes",{name:b,namespace:null,oldValue:c})}function d(a){h.call(this,a)}function e(a,c,d){var e=d||c;Object.defineProperty(a,c,{get:function(){return this.impl[c]},set:function(a){this.impl[c]=a,b(this,e)},configurable:!0,enumerable:!0})}var f=a.ChildNodeInterface,g=a.GetElementsByInterface,h=a.wrappers.Node,i=a.ParentNodeInterface,j=a.SelectorsInterface,k=(a.addWrapNodeListMethod,a.enqueueMutation),l=a.mixin,m=(a.oneOf,a.registerWrapper),n=a.wrappers,o=window.Element,p=["matches","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector"].filter(function(a){return o.prototype[a]}),q=p[0],r=o.prototype[q];d.prototype=Object.create(h.prototype),l(d.prototype,{createShadowRoot:function(){var b=new n.ShadowRoot(this);this.impl.polymerShadowRoot_=b;var c=a.getRendererForHost(this);return c.invalidate(),b},get shadowRoot(){return this.impl.polymerShadowRoot_||null},setAttribute:function(a,d){var e=this.impl.getAttribute(a);this.impl.setAttribute(a,d),c(this,a,e),b(this,a)},removeAttribute:function(a){var d=this.impl.getAttribute(a);this.impl.removeAttribute(a),c(this,a,d),b(this,a)},matches:function(a){return r.call(this.impl,a)}}),p.forEach(function(a){"matches"!==a&&(d.prototype[a]=function(a){return this.matches(a)})}),o.prototype.webkitCreateShadowRoot&&(d.prototype.webkitCreateShadowRoot=d.prototype.createShadowRoot),e(d.prototype,"id"),e(d.prototype,"className","class"),l(d.prototype,f),l(d.prototype,g),l(d.prototype,i),l(d.prototype,j),m(o,d,document.createElementNS(null,"x")),a.matchesNames=p,a.wrappers.Element=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function c(a){return a.replace(z,b)}function d(a){return a.replace(A,b)}function e(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function f(a,b){switch(a.nodeType){case Node.ELEMENT_NODE:for(var e,f=a.tagName.toLowerCase(),h="<"+f,i=a.attributes,j=0;e=i[j];j++)h+=" "+e.name+'="'+c(e.value)+'"';return h+=">",B[f]?h:h+g(a)+"</"+f+">";case Node.TEXT_NODE:var k=a.data;return b&&C[b.localName]?k:d(k);case Node.COMMENT_NODE:return"<!--"+a.data+"-->";default:throw console.error(a),new Error("not implemented")}}function g(a){a instanceof y.HTMLTemplateElement&&(a=a.content);for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=f(c,a);return b}function h(a,b,c){var d=c||"div";a.textContent="";var e=w(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(x(f))}function i(a){o.call(this,a)}function j(a,b){var c=w(a.cloneNode(!1));c.innerHTML=b;for(var d,e=w(document.createDocumentFragment());d=c.firstChild;)e.appendChild(d);return x(e)}function k(b){return function(){return a.renderAllPending(),this.impl[b]}}function l(a){p(i,a,k(a))}function m(b){Object.defineProperty(i.prototype,b,{get:k(b),set:function(c){a.renderAllPending(),this.impl[b]=c},configurable:!0,enumerable:!0})}function n(b){Object.defineProperty(i.prototype,b,{value:function(){return a.renderAllPending(),this.impl[b].apply(this.impl,arguments)},configurable:!0,enumerable:!0})}var o=a.wrappers.Element,p=a.defineGetter,q=a.enqueueMutation,r=a.mixin,s=a.nodesWereAdded,t=a.nodesWereRemoved,u=a.registerWrapper,v=a.snapshotNodeList,w=a.unwrap,x=a.wrap,y=a.wrappers,z=/[&\u00A0"]/g,A=/[&\u00A0<>]/g,B=e(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),C=e(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]),D=/MSIE/.test(navigator.userAgent),E=window.HTMLElement,F=window.HTMLTemplateElement;i.prototype=Object.create(o.prototype),r(i.prototype,{get innerHTML(){return g(this)},set innerHTML(a){if(D&&C[this.localName])return void(this.textContent=a);var b=v(this.childNodes);this.invalidateShadowRenderer()?this instanceof y.HTMLTemplateElement?h(this.content,a):h(this,a,this.tagName):!F&&this instanceof y.HTMLTemplateElement?h(this.content,a):this.impl.innerHTML=a;var c=v(this.childNodes);q(this,"childList",{addedNodes:c,removedNodes:b}),t(b),s(c,this)},get outerHTML(){return f(this,this.parentNode)},set outerHTML(a){var b=this.parentNode;if(b){b.invalidateShadowRenderer();var c=j(b,a);b.replaceChild(c,this)}},insertAdjacentHTML:function(a,b){var c,d;switch(String(a).toLowerCase()){case"beforebegin":c=this.parentNode,d=this;break;case"afterend":c=this.parentNode,d=this.nextSibling;break;case"afterbegin":c=this,d=this.firstChild;break;case"beforeend":c=this,d=null;break;default:return}var e=j(c,b);c.insertBefore(e,d)}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollWidth"].forEach(l),["scrollLeft","scrollTop"].forEach(m),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(n),u(E,i,document.createElement("b")),a.wrappers.HTMLElement=i,a.getInnerHTML=g,a.setInnerHTML=h}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrap,g=window.HTMLCanvasElement;b.prototype=Object.create(c.prototype),d(b.prototype,{getContext:function(){var a=this.impl.getContext.apply(this.impl,arguments);return a&&f(a)}}),e(g,b,document.createElement("canvas")),a.wrappers.HTMLCanvasElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a,b){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var e=f(document.createElement("img"));d.call(this,e),g(e,this),void 0!==a&&(e.width=a),void 0!==b&&(e.height=b)}var d=a.wrappers.HTMLElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLImageElement;b.prototype=Object.create(d.prototype),e(h,b,document.createElement("img")),c.prototype=b.prototype,a.wrappers.HTMLImageElement=b,a.wrappers.Image=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{}),f&&e(f,b),a.wrappers.HTMLShadowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=k.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);k.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=h(d.createDocumentFragment());c=a.firstChild;)e.appendChild(c);return e}function d(a){if(e.call(this,a),!l){var b=c(a);j.set(this,i(b))}}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.unwrap,i=a.wrap,j=new WeakMap,k=new WeakMap,l=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),f(d.prototype,{get content(){return l?i(this.impl.content):j.get(this)}}),l&&g(l,d),a.wrappers.HTMLTemplateElement=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.registerWrapper,e=window.HTMLMediaElement;b.prototype=Object.create(c.prototype),d(e,b,document.createElement("audio")),a.wrappers.HTMLMediaElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var b=f(document.createElement("audio"));d.call(this,b),g(b,this),b.setAttribute("preload","auto"),void 0!==a&&b.setAttribute("src",a)}var d=a.wrappers.HTMLMediaElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLAudioElement;b.prototype=Object.create(d.prototype),e(h,b,document.createElement("audio")),c.prototype=b.prototype,a.wrappers.HTMLAudioElement=b,a.wrappers.Audio=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a.replace(/\s+/g," ").trim()}function c(a){e.call(this,a)}function d(a,b,c,f){if(!(this instanceof d))throw new TypeError("DOM object constructor cannot be called as a function.");var g=i(document.createElement("option"));e.call(this,g),h(g,this),void 0!==a&&(g.text=a),void 0!==b&&g.setAttribute("value",b),c===!0&&g.setAttribute("selected",""),g.selected=f===!0}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.rewrap,i=a.unwrap,j=a.wrap,k=window.HTMLOptionElement;c.prototype=Object.create(e.prototype),f(c.prototype,{get text(){return b(this.textContent)},set text(a){this.textContent=b(String(a))},get form(){return j(i(this).form)}}),g(k,c,document.createElement("option")),d.prototype=c.prototype,a.wrappers.HTMLOptionElement=c,a.wrappers.Option=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=window.HTMLSelectElement;b.prototype=Object.create(c.prototype),d(b.prototype,{add:function(a,b){"object"==typeof b&&(b=f(b)),f(this).add(f(a),b)},remove:function(a){"object"==typeof a&&(a=f(a)),f(this).remove(a)},get form(){return g(f(this).form)}}),e(h,b,document.createElement("select")),a.wrappers.HTMLSelectElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=a.wrapHTMLCollection,i=window.HTMLTableElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get caption(){return g(f(this).caption)},createCaption:function(){return g(f(this).createCaption())},get tHead(){return g(f(this).tHead)},createTHead:function(){return g(f(this).createTHead())},createTFoot:function(){return g(f(this).createTFoot())},get tFoot(){return g(f(this).tFoot)},get tBodies(){return h(f(this).tBodies)},createTBody:function(){return g(f(this).createTBody())},get rows(){return h(f(this).rows)},insertRow:function(a){return g(f(this).insertRow(a))}}),e(i,b,document.createElement("table")),a.wrappers.HTMLTableElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableSectionElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get rows(){return f(g(this).rows)},insertRow:function(a){return h(g(this).insertRow(a))}}),e(i,b,document.createElement("thead")),a.wrappers.HTMLTableSectionElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableRowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get cells(){return f(g(this).cells)},insertCell:function(a){return h(g(this).insertCell(a))}}),e(i,b,document.createElement("tr")),a.wrappers.HTMLTableRowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement,g=(a.mixin,a.registerWrapper),h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.registerObject,c="http://www.w3.org/2000/svg",d=document.createElementNS(c,"title"),e=b(d),f=Object.getPrototypeOf(e.prototype).constructor;a.wrappers.SVGElement=f}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){m.call(this,a)}var c=a.mixin,d=a.registerWrapper,e=a.unwrap,f=a.wrap,g=window.SVGUseElement,h="http://www.w3.org/2000/svg",i=f(document.createElementNS(h,"g")),j=document.createElementNS(h,"use"),k=i.constructor,l=Object.getPrototypeOf(k.prototype),m=l.constructor;b.prototype=Object.create(l),"instanceRoot"in j&&c(b.prototype,{get instanceRoot(){return f(e(this).instanceRoot)},get animatedInstanceRoot(){return f(e(this).animatedInstanceRoot)}}),d(g,b,j),a.wrappers.SVGUseElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.mixin,e=a.registerWrapper,f=a.wrap,g=window.SVGElementInstance;g&&(b.prototype=Object.create(c.prototype),d(b.prototype,{get correspondingElement(){return f(this.impl.correspondingElement)},get correspondingUseElement(){return f(this.impl.correspondingUseElement)},get parentNode(){return f(this.impl.parentNode)},get childNodes(){throw new Error("Not implemented")},get firstChild(){return f(this.impl.firstChild)},get lastChild(){return f(this.impl.lastChild)},get previousSibling(){return f(this.impl.previousSibling)},get nextSibling(){return f(this.impl.nextSibling)}}),e(g,b),a.wrappers.SVGElementInstance=b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}var c=a.mixin,d=a.registerWrapper,e=a.unwrap,f=a.unwrapIfNeeded,g=a.wrap,h=window.CanvasRenderingContext2D;c(b.prototype,{get canvas(){return g(this.impl.canvas)},drawImage:function(){arguments[0]=f(arguments[0]),this.impl.drawImage.apply(this.impl,arguments)},createPattern:function(){return arguments[0]=e(arguments[0]),this.impl.createPattern.apply(this.impl,arguments)}}),d(h,b,document.createElement("canvas").getContext("2d")),a.wrappers.CanvasRenderingContext2D=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}var c=a.mixin,d=a.registerWrapper,e=a.unwrapIfNeeded,f=a.wrap,g=window.WebGLRenderingContext;if(g){c(b.prototype,{get canvas(){return f(this.impl.canvas)},texImage2D:function(){arguments[5]=e(arguments[5]),this.impl.texImage2D.apply(this.impl,arguments)},texSubImage2D:function(){arguments[6]=e(arguments[6]),this.impl.texSubImage2D.apply(this.impl,arguments)}});var h=/WebKit/.test(navigator.userAgent)?{drawingBufferHeight:null,drawingBufferWidth:null}:{};d(g,b,h),a.wrappers.WebGLRenderingContext=b}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}var c=a.registerWrapper,d=a.unwrap,e=a.unwrapIfNeeded,f=a.wrap,g=window.Range;b.prototype={get startContainer(){return f(this.impl.startContainer)},get endContainer(){return f(this.impl.endContainer)},get commonAncestorContainer(){return f(this.impl.commonAncestorContainer)},setStart:function(a,b){this.impl.setStart(e(a),b)},setEnd:function(a,b){this.impl.setEnd(e(a),b)},setStartBefore:function(a){this.impl.setStartBefore(e(a))},setStartAfter:function(a){this.impl.setStartAfter(e(a))},setEndBefore:function(a){this.impl.setEndBefore(e(a))},setEndAfter:function(a){this.impl.setEndAfter(e(a))},selectNode:function(a){this.impl.selectNode(e(a))},selectNodeContents:function(a){this.impl.selectNodeContents(e(a))},compareBoundaryPoints:function(a,b){return this.impl.compareBoundaryPoints(a,d(b))},extractContents:function(){return f(this.impl.extractContents())},cloneContents:function(){return f(this.impl.cloneContents())},insertNode:function(a){this.impl.insertNode(e(a))},surroundContents:function(a){this.impl.surroundContents(e(a))},cloneRange:function(){return f(this.impl.cloneRange())},isPointInRange:function(a,b){return this.impl.isPointInRange(e(a),b)},comparePoint:function(a,b){return this.impl.comparePoint(e(a),b)},intersectsNode:function(a){return this.impl.intersectsNode(e(a))},toString:function(){return this.impl.toString()}},g.prototype.createContextualFragment&&(b.prototype.createContextualFragment=function(a){return f(this.impl.createContextualFragment(a))}),c(window.Range,b,document.createRange()),a.wrappers.Range=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.GetElementsByInterface,c=a.ParentNodeInterface,d=a.SelectorsInterface,e=a.mixin,f=a.registerObject,g=f(document.createDocumentFragment());e(g.prototype,c),e(g.prototype,d),e(g.prototype,b);var h=f(document.createComment(""));a.wrappers.Comment=h,a.wrappers.DocumentFragment=g}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=k(a.impl.ownerDocument.createDocumentFragment());c.call(this,b),i(b,this),this.treeScope_=new d(this,g(a));var e=a.shadowRoot;m.set(this,e),l.set(this,a)}var c=a.wrappers.DocumentFragment,d=a.TreeScope,e=a.elementFromPoint,f=a.getInnerHTML,g=a.getTreeScope,h=a.mixin,i=a.rewrap,j=a.setInnerHTML,k=a.unwrap,l=new WeakMap,m=new WeakMap,n=/[ \t\n\r\f]/;b.prototype=Object.create(c.prototype),h(b.prototype,{get innerHTML(){return f(this)},set innerHTML(a){j(this,a),this.invalidateShadowRenderer()},get olderShadowRoot(){return m.get(this)||null},get host(){return l.get(this)||null},invalidateShadowRenderer:function(){return l.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return e(this,this.ownerDocument,a,b)},getElementById:function(a){return n.test(a)?null:this.querySelector('[id="'+a+'"]')}}),a.wrappers.ShadowRoot=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(a,c,e){var f=G(a),g=G(c),h=e?G(e):null;if(d(c),b(c),e)a.firstChild===e&&(a.firstChild_=e),e.previousSibling_=e.previousSibling;else{a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var i=H(f.lastChild);i&&(i.nextSibling_=i.nextSibling)}f.insertBefore(g,h)}function d(a){var c=G(a),d=c.parentNode;if(d){var e=H(d);b(a),a.previousSibling&&(a.previousSibling.nextSibling_=a),a.nextSibling&&(a.nextSibling.previousSibling_=a),e.lastChild===a&&(e.lastChild_=a),e.firstChild===a&&(e.firstChild_=a),d.removeChild(c)}}function e(a,b){g(b).push(a),x(a,b);var c=J.get(a);c||J.set(a,c=[]),c.push(b)}function f(a){I.set(a,[])}function g(a){var b=I.get(a);return b||I.set(a,b=[]),b}function h(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function i(a,b,c){for(var d=a.firstChild;d;d=d.nextSibling)if(b(d)){if(c(d)===!1)return}else i(d,b,c)}function j(a,b){var c=b.getAttribute("select");if(!c)return!0;if(c=c.trim(),!c)return!0;if(!(a instanceof z))return!1;if("*"===c||c===a.localName)return!0;if(!M.test(c))return!1;if(":"===c[0]&&!N.test(c))return!1;try{return a.matches(c)}catch(d){return!1}}function k(){for(var a=0;a<P.length;a++){var b=P[a],c=b.parentRenderer;c&&c.dirty||b.render()}P=[]}function l(){y=null,k()}function m(a){var b=L.get(a);return b||(b=new q(a),L.set(a,b)),b}function n(a){var b=E(a).root;return b instanceof D?b:null}function o(a){return m(a.host)}function p(a){this.skip=!1,this.node=a,this.childNodes=[]}function q(a){this.host=a,this.dirty=!1,this.invalidateAttributes(),this.associateNode(a)}function r(a){return a instanceof A}function s(a){return a instanceof A}function t(a){return a instanceof B}function u(a){return a instanceof B}function v(a){return a.shadowRoot
-}function w(a){for(var b=[],c=a.shadowRoot;c;c=c.olderShadowRoot)b.push(c);return b}function x(a,b){K.set(a,b)}var y,z=a.wrappers.Element,A=a.wrappers.HTMLContentElement,B=a.wrappers.HTMLShadowElement,C=a.wrappers.Node,D=a.wrappers.ShadowRoot,E=(a.assert,a.getTreeScope),F=(a.mixin,a.oneOf),G=a.unwrap,H=a.wrap,I=new WeakMap,J=new WeakMap,K=new WeakMap,L=new WeakMap,M=/^[*.:#[a-zA-Z_|]/,N=new RegExp("^:("+["link","visited","target","enabled","disabled","checked","indeterminate","nth-child","nth-last-child","nth-of-type","nth-last-of-type","first-child","last-child","first-of-type","last-of-type","only-of-type"].join("|")+")"),O=F(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout"]),P=[],Q=new ArraySplice;Q.equals=function(a,b){return G(a.node)===b},p.prototype={append:function(a){var b=new p(a);return this.childNodes.push(b),b},sync:function(a){if(!this.skip){for(var b=this.node,e=this.childNodes,f=h(G(b)),g=a||new WeakMap,i=Q.calculateSplices(e,f),j=0,k=0,l=0,m=0;m<i.length;m++){for(var n=i[m];l<n.index;l++)k++,e[j++].sync(g);for(var o=n.removed.length,p=0;o>p;p++){var q=H(f[k++]);g.get(q)||d(q)}for(var r=n.addedCount,s=f[k]&&H(f[k]),p=0;r>p;p++){var t=e[j++],u=t.node;c(b,u,s),g.set(u,!0),t.sync(g)}l+=r}for(var m=l;m<e.length;m++)e[m].sync(g)}}},q.prototype={render:function(a){if(this.dirty){this.invalidateAttributes(),this.treeComposition();var b=this.host,c=b.shadowRoot;this.associateNode(b);for(var d=!e,e=a||new p(b),f=c.firstChild;f;f=f.nextSibling)this.renderNode(c,e,f,!1);d&&e.sync(),this.dirty=!1}},get parentRenderer(){return E(this.host).renderer},invalidate:function(){if(!this.dirty){if(this.dirty=!0,P.push(this),y)return;y=window[O](l,0)}},renderNode:function(a,b,c,d){if(v(c)){b=b.append(c);var e=m(c);e.dirty=!0,e.render(b)}else r(c)?this.renderInsertionPoint(a,b,c,d):t(c)?this.renderShadowInsertionPoint(a,b,c):this.renderAsAnyDomTree(a,b,c,d)},renderAsAnyDomTree:function(a,b,c,d){if(b=b.append(c),v(c)){var e=m(c);b.skip=!e.dirty,e.render(b)}else for(var f=c.firstChild;f;f=f.nextSibling)this.renderNode(a,b,f,d)},renderInsertionPoint:function(a,b,c,d){var e=g(c);if(e.length){this.associateNode(c);for(var f=0;f<e.length;f++){var h=e[f];r(h)&&d?this.renderInsertionPoint(a,b,h,d):this.renderAsAnyDomTree(a,b,h,d)}}else this.renderFallbackContent(a,b,c);this.associateNode(c.parentNode)},renderShadowInsertionPoint:function(a,b,c){var d=a.olderShadowRoot;if(d){x(d,c),this.associateNode(c.parentNode);for(var e=d.firstChild;e;e=e.nextSibling)this.renderNode(d,b,e,!0)}else this.renderFallbackContent(a,b,c)},renderFallbackContent:function(a,b,c){this.associateNode(c),this.associateNode(c.parentNode);for(var d=c.firstChild;d;d=d.nextSibling)this.renderAsAnyDomTree(a,b,d,!1)},invalidateAttributes:function(){this.attributes=Object.create(null)},updateDependentAttributes:function(a){if(a){var b=this.attributes;/\.\w+/.test(a)&&(b["class"]=!0),/#\w+/.test(a)&&(b.id=!0),a.replace(/\[\s*([^\s=\|~\]]+)/g,function(a,c){b[c]=!0})}},dependsOnAttribute:function(a){return this.attributes[a]},distribute:function(a,b){var c=this;i(a,s,function(a){f(a),c.updateDependentAttributes(a.getAttribute("select"));for(var d=0;d<b.length;d++){var g=b[d];void 0!==g&&j(g,a)&&(e(g,a),b[d]=void 0)}})},treeComposition:function(){for(var a=this.host,b=a.shadowRoot,c=[],d=a.firstChild;d;d=d.nextSibling)if(r(d)){var e=g(d);e&&e.length||(e=h(d)),c.push.apply(c,e)}else c.push(d);for(var f,j;b;){if(f=void 0,i(b,u,function(a){return f=a,!1}),j=f,this.distribute(b,c),j){var k=b.olderShadowRoot;if(k){b=k,x(b,j);continue}break}break}},associateNode:function(a){a.impl.polymerShadowRenderer_=this}},C.prototype.invalidateShadowRenderer=function(){var a=this.impl.polymerShadowRenderer_;return a?(a.invalidate(),!0):!1},A.prototype.getDistributedNodes=function(){return k(),g(this)},B.prototype.nodeIsInserted_=A.prototype.nodeIsInserted_=function(){this.invalidateShadowRenderer();var a,b=n(this);b&&(a=o(b)),this.impl.polymerShadowRenderer_=a,a&&a.invalidate()},a.eventParentsTable=J,a.getRendererForHost=m,a.getShadowTrees=w,a.insertionParentTable=K,a.renderAllPending=k,a.visual={insertBefore:c,remove:d}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b){if(window[b]){d(!a.wrappers[b]);var i=function(a){c.call(this,a)};i.prototype=Object.create(c.prototype),e(i.prototype,{get form(){return h(g(this).form)}}),f(window[b],i,document.createElement(b.slice(4,-7))),a.wrappers[b]=i}}var c=a.wrappers.HTMLElement,d=a.assert,e=a.mixin,f=a.registerWrapper,g=a.unwrap,h=a.wrap,i=["HTMLButtonElement","HTMLFieldSetElement","HTMLInputElement","HTMLKeygenElement","HTMLLabelElement","HTMLLegendElement","HTMLObjectElement","HTMLOutputElement","HTMLTextAreaElement"];i.forEach(b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}{var c=a.registerWrapper,d=a.unwrap,e=a.unwrapIfNeeded,f=a.wrap;window.Selection}b.prototype={get anchorNode(){return f(this.impl.anchorNode)},get focusNode(){return f(this.impl.focusNode)},addRange:function(a){this.impl.addRange(d(a))},collapse:function(a,b){this.impl.collapse(e(a),b)},containsNode:function(a,b){return this.impl.containsNode(e(a),b)},extend:function(a,b){this.impl.extend(e(a),b)},getRangeAt:function(a){return f(this.impl.getRangeAt(a))},removeRange:function(a){this.impl.removeRange(d(a))},selectAllChildren:function(a){this.impl.selectAllChildren(e(a))},toString:function(){return this.impl.toString()}},c(window.Selection,b,window.getSelection()),a.wrappers.Selection=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){k.call(this,a),this.treeScope_=new p(this,null)}function c(a){var c=document[a];b.prototype[a]=function(){return A(c.apply(this.impl,arguments))}}function d(a,b){D.call(b.impl,z(a)),e(a,b)}function e(a,b){a.shadowRoot&&b.adoptNode(a.shadowRoot),a instanceof o&&f(a,b);for(var c=a.firstChild;c;c=c.nextSibling)e(c,b)}function f(a,b){var c=a.olderShadowRoot;c&&b.adoptNode(c)}function g(a){this.impl=a}function h(a,b){var c=document.implementation[b];a.prototype[b]=function(){return A(c.apply(this.impl,arguments))}}function i(a,b){var c=document.implementation[b];a.prototype[b]=function(){return c.apply(this.impl,arguments)}}var j=a.GetElementsByInterface,k=a.wrappers.Node,l=a.ParentNodeInterface,m=a.wrappers.Selection,n=a.SelectorsInterface,o=a.wrappers.ShadowRoot,p=a.TreeScope,q=a.cloneNode,r=a.defineWrapGetter,s=a.elementFromPoint,t=a.forwardMethodsToWrapper,u=a.matchesNames,v=a.mixin,w=a.registerWrapper,x=a.renderAllPending,y=a.rewrap,z=a.unwrap,A=a.wrap,B=a.wrapEventTargetMethods,C=(a.wrapNodeList,new WeakMap);b.prototype=Object.create(k.prototype),r(b,"documentElement"),r(b,"body"),r(b,"head"),["createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode","getElementById"].forEach(c);var D=document.adoptNode,E=document.getSelection;if(v(b.prototype,{adoptNode:function(a){return a.parentNode&&a.parentNode.removeChild(a),d(a,this),a},elementFromPoint:function(a,b){return s(this,this,a,b)},importNode:function(a,b){return q(a,b,this.impl)},getSelection:function(){return x(),new m(E.call(z(this)))}}),document.registerElement){var F=document.registerElement;b.prototype.registerElement=function(b,c){function d(a){return a?void(this.impl=a):c.extends?document.createElement(c.extends,b):document.createElement(b)}var e=c.prototype;if(a.nativePrototypeTable.get(e))throw new Error("NotSupportedError");for(var f,g=Object.getPrototypeOf(e),h=[];g&&!(f=a.nativePrototypeTable.get(g));)h.push(g),g=Object.getPrototypeOf(g);if(!f)throw new Error("NotSupportedError");for(var i=Object.create(f),j=h.length-1;j>=0;j--)i=Object.create(i);["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"].forEach(function(a){var b=e[a];b&&(i[a]=function(){A(this)instanceof d||y(this),b.apply(A(this),arguments)})});var k={prototype:i};c.extends&&(k.extends=c.extends),d.prototype=e,d.prototype.constructor=d,a.constructorTable.set(i,d),a.nativePrototypeTable.set(e,i);F.call(z(this),b,k);return d},t([window.HTMLDocument||window.Document],["registerElement"])}t([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement,window.HTMLHtmlElement],["appendChild","compareDocumentPosition","contains","getElementsByClassName","getElementsByTagName","getElementsByTagNameNS","insertBefore","querySelector","querySelectorAll","removeChild","replaceChild"].concat(u)),t([window.HTMLDocument||window.Document],["adoptNode","importNode","contains","createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode","elementFromPoint","getElementById","getSelection"]),v(b.prototype,j),v(b.prototype,l),v(b.prototype,n),v(b.prototype,{get implementation(){var a=C.get(this);return a?a:(a=new g(z(this).implementation),C.set(this,a),a)}}),w(window.Document,b,document.implementation.createHTMLDocument("")),window.HTMLDocument&&w(window.HTMLDocument,b),B([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement]),h(g,"createDocumentType"),h(g,"createDocument"),h(g,"createHTMLDocument"),i(g,"hasFeature"),w(window.DOMImplementation,g),t([window.DOMImplementation],["createDocumentType","createDocument","createHTMLDocument","hasFeature"]),a.adoptNodeNoRemove=d,a.wrappers.DOMImplementation=g,a.wrappers.Document=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.wrappers.Selection,e=a.mixin,f=a.registerWrapper,g=a.renderAllPending,h=a.unwrap,i=a.unwrapIfNeeded,j=a.wrap,k=window.Window,l=window.getComputedStyle,m=window.getSelection;b.prototype=Object.create(c.prototype),k.prototype.getComputedStyle=function(a,b){return j(this||window).getComputedStyle(i(a),b)},k.prototype.getSelection=function(){return j(this||window).getSelection()},delete window.getComputedStyle,delete window.getSelection,["addEventListener","removeEventListener","dispatchEvent"].forEach(function(a){k.prototype[a]=function(){var b=j(this||window);return b[a].apply(b,arguments)},delete window[a]}),e(b.prototype,{getComputedStyle:function(a,b){return g(),l.call(h(this),i(a),b)},getSelection:function(){return g(),new d(m.call(h(this)))}}),f(k,b),a.wrappers.Window=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.unwrap,c=window.DataTransfer||window.Clipboard,d=c.prototype.setDragImage;c.prototype.setDragImage=function(a,c,e){d.call(this,b(a),c,e)}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=c[a],d=window[b];if(d){var e=document.createElement(a),f=e.constructor;window[b]=f}}var c=(a.isWrapperFor,{a:"HTMLAnchorElement",area:"HTMLAreaElement",audio:"HTMLAudioElement",base:"HTMLBaseElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",col:"HTMLTableColElement",content:"HTMLContentElement",data:"HTMLDataElement",datalist:"HTMLDataListElement",del:"HTMLModElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",embed:"HTMLEmbedElement",fieldset:"HTMLFieldSetElement",font:"HTMLFontElement",form:"HTMLFormElement",frame:"HTMLFrameElement",frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",head:"HTMLHeadElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",keygen:"HTMLKeygenElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",marquee:"HTMLMarqueeElement",menu:"HTMLMenuElement",menuitem:"HTMLMenuItemElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",script:"HTMLScriptElement",select:"HTMLSelectElement",shadow:"HTMLShadowElement",source:"HTMLSourceElement",span:"HTMLSpanElement",style:"HTMLStyleElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",template:"HTMLTemplateElement",textarea:"HTMLTextAreaElement",thead:"HTMLTableSectionElement",time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",ul:"HTMLUListElement",video:"HTMLVideoElement"});Object.keys(c).forEach(b),Object.getOwnPropertyNames(a.wrappers).forEach(function(b){window[b]=a.wrappers[b]})}(window.ShadowDOMPolyfill),function(){window.wrap=ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=ShadowDOMPolyfill.unwrapIfNeeded,Object.defineProperty(Element.prototype,"webkitShadowRoot",Object.getOwnPropertyDescriptor(Element.prototype,"shadowRoot"));var a=Element.prototype.createShadowRoot;Element.prototype.createShadowRoot=function(){var b=a.call(this);return CustomElements.watchShadow(this),b},Element.prototype.webkitCreateShadowRoot=Element.prototype.createShadowRoot}(),function(a){function b(a,b){var c="";return Array.prototype.forEach.call(a,function(a){c+=a.textContent+"\n\n"}),b||(c=c.replace(l,"")),c}function c(a){var b=document.createElement("style");return b.textContent=a,b}function d(a){var b=c(a);document.head.appendChild(b);var d=[];if(b.sheet)try{d=b.sheet.cssRules}catch(e){}else console.warn("sheet not found",b);return b.parentNode.removeChild(b),d}function e(){v.initialized=!0,document.body.appendChild(v);var a=v.contentDocument,b=a.createElement("base");b.href=document.baseURI,a.head.appendChild(b)}function f(a){v.initialized||e(),document.body.appendChild(v),a(v.contentDocument),document.body.removeChild(v)}function g(a,b){if(b){var e;if(a.match("@import")&&x){var g=c(a);f(function(a){a.head.appendChild(g.impl),e=g.sheet.cssRules,b(e)})}else e=d(a),b(e)}}function h(a){a&&j().appendChild(document.createTextNode(a))}function i(a,b){var d=c(a);d.setAttribute(b,""),d.setAttribute(z,""),document.head.appendChild(d)}function j(){return w||(w=document.createElement("style"),w.setAttribute(z,""),w[z]=!0),w}var k={strictStyling:!1,registry:{},shimStyling:function(a,c,d){var e=this.prepareRoot(a,c,d),f=this.isTypeExtension(d),g=this.makeScopeSelector(c,f),h=b(e,!0);h=this.scopeCssText(h,g),a&&(a.shimmedStyle=h),this.addCssToDocument(h,c)},shimStyle:function(a,b){return this.shimCssText(a.textContent,b)},shimCssText:function(a,b){return a=this.insertDirectives(a),this.scopeCssText(a,b)},makeScopeSelector:function(a,b){return a?b?"[is="+a+"]":a:""},isTypeExtension:function(a){return a&&a.indexOf("-")<0},prepareRoot:function(a,b,c){var d=this.registerRoot(a,b,c);return this.replaceTextInStyles(d.rootStyles,this.insertDirectives),this.removeStyles(a,d.rootStyles),this.strictStyling&&this.applyScopeToContent(a,b),d.scopeStyles},removeStyles:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)c.parentNode.removeChild(c)},registerRoot:function(a,b,c){var d=this.registry[b]={root:a,name:b,extendsName:c},e=this.findStyles(a);d.rootStyles=e,d.scopeStyles=d.rootStyles;var f=this.registry[d.extendsName];return!f||a&&!a.querySelector("shadow")||(d.scopeStyles=f.scopeStyles.concat(d.scopeStyles)),d},findStyles:function(a){if(!a)return[];var b=a.querySelectorAll("style");return Array.prototype.filter.call(b,function(a){return!a.hasAttribute(A)})},applyScopeToContent:function(a,b){a&&(Array.prototype.forEach.call(a.querySelectorAll("*"),function(a){a.setAttribute(b,"")}),Array.prototype.forEach.call(a.querySelectorAll("template"),function(a){this.applyScopeToContent(a.content,b)},this))},insertDirectives:function(a){return a=this.insertPolyfillDirectivesInCssText(a),this.insertPolyfillRulesInCssText(a)},insertPolyfillDirectivesInCssText:function(a){return a=a.replace(m,function(a,b){return b.slice(0,-2)+"{"}),a.replace(n,function(a,b){return b+" {"})},insertPolyfillRulesInCssText:function(a){return a=a.replace(o,function(a,b){return b.slice(0,-1)}),a.replace(p,function(a,b,c,d){var e=a.replace(b,"").replace(c,"");return d+e})},scopeCssText:function(a,b){var c=this.extractUnscopedRulesFromCssText(a);if(a=this.insertPolyfillHostInCssText(a),a=this.convertColonHost(a),a=this.convertColonAncestor(a),a=this.convertCombinators(a),b){var a,d=this;g(a,function(c){a=d.scopeRules(c,b)})}return a=a+"\n"+c,a.trim()},extractUnscopedRulesFromCssText:function(a){for(var b,c="";b=q.exec(a);)c+=b[1].slice(0,-1)+"\n\n";for(;b=r.exec(a);)c+=b[0].replace(b[2],"").replace(b[1],b[3])+"\n\n";return c},convertColonHost:function(a){return this.convertColonRule(a,cssColonHostRe,this.colonHostPartReplacer)},convertColonAncestor:function(a){return this.convertColonRule(a,cssColonAncestorRe,this.colonAncestorPartReplacer)},convertColonRule:function(a,b,c){return a.replace(b,function(a,b,d,e){if(b=polyfillHostNoCombinator,d){for(var f,g=d.split(","),h=[],i=0,j=g.length;j>i&&(f=g[i]);i++)f=f.trim(),h.push(c(b,f,e));return h.join(",")}return b+e})},colonAncestorPartReplacer:function(a,b,c){return b.match(s)?this.colonHostPartReplacer(a,b,c):a+b+c+", "+b+" "+a+c},colonHostPartReplacer:function(a,b,c){return a+b.replace(s,"")+c},convertCombinators:function(a){for(var b=0;b<combinatorsRe.length;b++)a=a.replace(combinatorsRe[b]," ");return a},scopeRules:function(a,b){var c="";return a&&Array.prototype.forEach.call(a,function(a){a.selectorText&&a.style&&a.style.cssText?(c+=this.scopeSelector(a.selectorText,b,this.strictStyling)+" {\n ",c+=this.propertiesFromRule(a)+"\n}\n\n"):a.type===CSSRule.MEDIA_RULE?(c+="@media "+a.media.mediaText+" {\n",c+=this.scopeRules(a.cssRules,b),c+="\n}\n\n"):a.cssText&&(c+=a.cssText+"\n\n")},this),c},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c&&!a.match(polyfillHostNoCombinator)?this.applyStrictSelectorScope(a,b):this.applySimpleSelectorScope(a,b)),d.push(a)},this),d.join(", ")},selectorNeedsScoping:function(a,b){var c=this.makeScopeMatcher(b);return!a.match(c)},makeScopeMatcher:function(a){return a=a.replace(/\[/g,"\\[").replace(/\[/g,"\\]"),new RegExp("^("+a+")"+selectorReSuffix,"m")},applySimpleSelectorScope:function(a,b){return a.match(polyfillHostRe)?(a=a.replace(polyfillHostNoCombinator,b),a.replace(polyfillHostRe,b+" ")):b+" "+a},applyStrictSelectorScope:function(a,b){b=b.replace(/\[is=([^\]]*)\]/g,"$1");var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim().replace(polyfillHostRe,"");return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},insertPolyfillHostInCssText:function(a){return a.replace(hostRe,s).replace(colonHostRe,s).replace(colonAncestorRe,t)},propertiesFromRule:function(a){return a.style.content&&!a.style.content.match(/['"]+/)?a.style.cssText.replace(/content:[^;]*;/g,"content: '"+a.style.content+"';"):a.style.cssText},replaceTextInStyles:function(a,b){a&&b&&(a instanceof Array||(a=[a]),Array.prototype.forEach.call(a,function(a){a.textContent=b.call(this,a.textContent)},this))},addCssToDocument:function(a,b){a.match("@import")?i(a,b):h(a)}},l=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,m=/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,n=/polyfill-next-selector[^}]*content\:[\s]*'([^']*)'[^}]*}([^{]*?){/gim,o=/\/\*\s@polyfill-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim,p=/(polyfill-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*}/gim,q=/\/\*\s@polyfill-unscoped-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim,r=/(polyfill-unscoped-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*}/gim,s="-shadowcsshost",t="-shadowcssancestor",u=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)";cssColonHostRe=new RegExp("("+s+u,"gim"),cssColonAncestorRe=new RegExp("("+t+u,"gim"),selectorReSuffix="([>\\s~+[.,{:][\\s\\S]*)?$",hostRe=/@host/gim,colonHostRe=/\:host/gim,colonAncestorRe=/\:ancestor/gim,polyfillHostNoCombinator=s+"-no-combinator",polyfillHostRe=new RegExp(s,"gim"),polyfillAncestorRe=new RegExp(t,"gim"),combinatorsRe=[/\^\^/g,/\^/g,/\/shadow\//g,/\/shadow-deep\//g];var v=document.createElement("iframe");v.style.display="none";var w,x=navigator.userAgent.match("Chrome"),y="shim-shadowdom",z="shim-shadowdom-css",A="no-shim";if(window.ShadowDOMPolyfill){h("style { display: none !important; }\n");var B=wrap(document),C=B.querySelector("head");C.insertBefore(j(),C.childNodes[0]),document.addEventListener("DOMContentLoaded",function(){var b=a.urlResolver;if(window.HTMLImports&&!HTMLImports.useNative){var c="link[rel=stylesheet]["+y+"]",d="style["+y+"]";HTMLImports.importer.documentPreloadSelectors+=","+c,HTMLImports.importer.importsPreloadSelectors+=","+c,HTMLImports.parser.documentSelectors=[HTMLImports.parser.documentSelectors,c,d].join(",");var e=HTMLImports.parser.parseGeneric;HTMLImports.parser.parseGeneric=function(a){if(!a[z]){var c=a.__importElement||a;if(!c.hasAttribute(y))return void e.call(this,a);a.__resource?(c=a.ownerDocument.createElement("style"),c.textContent=b.resolveCssText(a.__resource,a.href)):b.resolveStyle(c),c.textContent=k.shimStyle(c),c.removeAttribute(y,""),c.setAttribute(z,""),c[z]=!0,c.parentNode!==C&&(a.parentNode===C?C.replaceChild(c,a):C.appendChild(c)),c.__importParsed=!0,this.markParsingComplete(a)}};var f=HTMLImports.parser.hasResource;HTMLImports.parser.hasResource=function(a){return"link"===a.localName&&"stylesheet"===a.rel&&a.hasAttribute(y)?a.__resource:f.call(this,a)}}})}a.ShadowCSS=k}(window.Platform)):!function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a};var a=Element.prototype.webkitCreateShadowRoot;Element.prototype.webkitCreateShadowRoot=function(){var b=this.webkitShadowRoot,c=a.call(this);return c.olderShadowRoot=b,c.host=this,CustomElements.watchShadow(this),c},Object.defineProperties(Element.prototype,{shadowRoot:{get:function(){return this.webkitShadowRoot}},createShadowRoot:{value:function(){return this.webkitCreateShadowRoot()}}}),window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){"use strict";function b(a){return void 0!==m[a]}function c(){h.call(this),this._isInvalid=!0}function d(a){return""==a&&c.call(this),a.toLowerCase()}function e(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function f(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function g(a,g,h){function i(a){t.push(a)}var j=g||"scheme start",k=0,l="",r=!1,s=!1,t=[];a:for(;(a[k-1]!=o||0==k)&&!this._isInvalid;){var u=a[k];switch(j){case"scheme start":if(!u||!p.test(u)){if(g){i("Invalid scheme.");break a}l="",j="no scheme";continue}l+=u.toLowerCase(),j="scheme";break;case"scheme":if(u&&q.test(u))l+=u.toLowerCase();else{if(":"!=u){if(g){if(o==u)break a;i("Code point not allowed in scheme: "+u);break a}l="",k=0,j="no scheme";continue}if(this._scheme=l,l="",g)break a;b(this._scheme)&&(this._isRelative=!0),j="file"==this._scheme?"relative":this._isRelative&&h&&h._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==u?(query="?",j="query"):"#"==u?(this._fragment="#",j="fragment"):o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._schemeData+=e(u));break;case"no scheme":if(h&&b(h._scheme)){j="relative";continue}i("Missing scheme."),c.call(this);break;case"relative or authority":if("/"!=u||"/"!=a[k+1]){i("Expected /, got: "+u),j="relative";continue}j="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=h._scheme),o==u){this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query;break a}if("/"==u||"\\"==u)"\\"==u&&i("\\ is an invalid code point."),j="relative slash";else if("?"==u)this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query="?",j="query";else{if("#"!=u){var v=a[k+1],w=a[k+2];("file"!=this._scheme||!p.test(u)||":"!=v&&"|"!=v||o!=w&&"/"!=w&&"\\"!=w&&"?"!=w&&"#"!=w)&&(this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._path.pop()),j="relative path";continue}this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query,this._fragment="#",j="fragment"}break;case"relative slash":if("/"!=u&&"\\"!=u){"file"!=this._scheme&&(this._host=h._host,this._port=h._port),j="relative path";continue}"\\"==u&&i("\\ is an invalid code point."),j="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=u){i("Expected '/', got: "+u),j="authority ignore slashes";continue}j="authority second slash";break;case"authority second slash":if(j="authority ignore slashes","/"!=u){i("Expected '/', got: "+u);continue}break;case"authority ignore slashes":if("/"!=u&&"\\"!=u){j="authority";continue}i("Expected authority, got: "+u);break;case"authority":if("@"==u){r&&(i("@ already seen."),l+="%40"),r=!0;for(var x=0;x<l.length;x++){var y=l[x];if(" "!=y&&"\n"!=y&&"\r"!=y)if(":"!=y||null!==this._password){var z=e(y);null!==this._password?this._password+=z:this._username+=z}else this._password="";else i("Invalid whitespace in authority.")}l=""}else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){k-=l.length,l="",j="host";continue}l+=u}break;case"file host":if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){2!=l.length||!p.test(l[0])||":"!=l[1]&&"|"!=l[1]?0==l.length?j="relative path start":(this._host=d.call(this,l),l="",j="relative path start"):j="relative path";continue}" "==u||"\n"==u||"\r"==u?i("Invalid whitespace in file host."):l+=u;break;case"host":case"hostname":if(":"!=u||s){if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){if(this._host=d.call(this,l),l="",j="relative path start",g)break a;continue}" "!=u&&"\n"!=u&&"\r"!=u?("["==u?s=!0:"]"==u&&(s=!1),l+=u):i("Invalid code point in host/hostname: "+u)}else if(this._host=d.call(this,l),l="",j="port","hostname"==g)break a;break;case"port":if(/[0-9]/.test(u))l+=u;else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u||g){if(""!=l){var A=parseInt(l,10);A!=m[this._scheme]&&(this._port=A+""),l=""}if(g)break a;j="relative path start";continue}" "==u||"\n"==u||"\r"==u?i("Invalid code point in port: "+u):c.call(this)}break;case"relative path start":if("\\"==u&&i("'\\' not allowed in path."),j="relative path","/"!=u&&"\\"!=u)continue;break;case"relative path":if(o!=u&&"/"!=u&&"\\"!=u&&(g||"?"!=u&&"#"!=u))" "!=u&&"\n"!=u&&"\r"!=u&&(l+=e(u));else{"\\"==u&&i("\\ not allowed in relative path.");var B;(B=n[l.toLowerCase()])&&(l=B),".."==l?(this._path.pop(),"/"!=u&&"\\"!=u&&this._path.push("")):"."==l&&"/"!=u&&"\\"!=u?this._path.push(""):"."!=l&&("file"==this._scheme&&0==this._path.length&&2==l.length&&p.test(l[0])&&"|"==l[1]&&(l=l[0]+":"),this._path.push(l)),l="","?"==u?(this._query="?",j="query"):"#"==u&&(this._fragment="#",j="fragment")}break;case"query":g||"#"!=u?o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._query+=f(u)):(this._fragment="#",j="fragment");break;case"fragment":o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._fragment+=u)}k++}}function h(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function i(a,b){void 0===b||b instanceof i||(b=new i(String(b))),this._url=a,h.call(this);var c=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");g.call(this,c,null,b)}var j=!1;if(!a.forceJURL)try{var k=new URL("b","http://a");j="http://a/b"===k.href}catch(l){}if(!j){var m=Object.create(null);m.ftp=21,m.file=0,m.gopher=70,m.http=80,m.https=443,m.ws=80,m.wss=443;var n=Object.create(null);n["%2e"]=".",n[".%2e"]="..",n["%2e."]="..",n["%2e%2e"]="..";var o=void 0,p=/[a-zA-Z]/,q=/[a-zA-Z0-9\+\-\.]/;i.prototype={get href(){if(this._isInvalid)return this._url;var a="";return(""!=this._username||null!=this._password)&&(a=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+a+this.host:"")+this.pathname+this._query+this._fragment},set href(a){h.call(this),g.call(this,a)},get protocol(){return this._scheme+":"},set protocol(a){this._isInvalid||g.call(this,a+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"host")},get hostname(){return this._host},set hostname(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"hostname")},get port(){return this._port},set port(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(a){!this._isInvalid&&this._isRelative&&(this._path=[],g.call(this,a,"relative path start"))},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this._query},set search(a){!this._isInvalid&&this._isRelative&&(this._query="?","?"==a[0]&&(a=a.slice(1)),g.call(this,a,"query"))},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(a){this._isInvalid||(this._fragment="#","#"==a[0]&&(a=a.slice(1)),g.call(this,a,"fragment"))}},a.URL=i}}(window),function(a){function b(a){for(var b=a||{},d=1;d<arguments.length;d++){var e=arguments[d];try{for(var f in e)c(f,e,b)}catch(g){}}return b}function c(a,b,c){var e=d(b,a);Object.defineProperty(c,a,e)}function d(a,b){if(a){var c=Object.getOwnPropertyDescriptor(a,b);return c||d(Object.getPrototypeOf(a),b)}}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=b}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;DOMTokenList.prototype.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a])},DOMTokenList.prototype.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a])},DOMTokenList.prototype.toggle=function(a,b){1==arguments.length&&(b=!this.contains(a)),b?this.add(a):this.remove(a)},DOMTokenList.prototype.switch=function(a,b){a&&this.remove(a),b&&this.add(b)};var e=function(){return Array.prototype.slice.call(this)},f=window.NamedNodeMap||window.MozNamedAttrMap||{};if(NodeList.prototype.array=e,f.prototype.array=e,HTMLCollection.prototype.array=e,!window.performance){var g=Date.now();window.performance={now:function(){return Date.now()-g}}}window.requestAnimationFrame||(window.requestAnimationFrame=function(){var a=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;return a?function(b){return a(function(){b(performance.now())})}:function(a){return window.setTimeout(a,1e3/60)}}()),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(){return window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(a){clearTimeout(a)}}());var h=[],i=function(){h.push(arguments)};window.Polymer=i,a.deliverDeclarations=function(){return a.deliverDeclarations=function(){throw"Possible attempt to load Polymer twice"},h},window.addEventListener("DOMContentLoaded",function(){window.Polymer===i&&(window.Polymer=function(){console.error('You tried to use polymer without loading it first. To load polymer, <link rel="import" href="components/polymer/polymer.html">')})}),a.createDOM=b}(window.Platform),window.templateContent=window.templateContent||function(a){return a.content},function(a){a=a||(window.Inspector={});var b;window.sinspect=function(a,d){b||(b=window.open("","ShadowDOM Inspector",null,!0),b.document.write(c),b.api={shadowize:shadowize}),f(a||wrap(document.body),d)};var c=["<!DOCTYPE html>","<html>"," <head>"," <title>ShadowDOM Inspector</title>"," <style>"," body {"," }"," pre {",' font: 9pt "Courier New", monospace;'," line-height: 1.5em;"," }"," tag {"," color: purple;"," }"," ul {"," margin: 0;"," padding: 0;"," list-style: none;"," }"," li {"," display: inline-block;"," background-color: #f1f1f1;"," padding: 4px 6px;"," border-radius: 4px;"," margin-right: 4px;"," }"," </style>"," </head>"," <body>",' <ul id="crumbs">'," </ul>",' <div id="tree"></div>'," </body>","</html>"].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");
-c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="<pre>"+j(a,a.childNodes)+"</pre>"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="<br/>";var h=d+"&nbsp;&nbsp;";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="<tag>&lt;/"+e+"&gt;</tag>",f+="<br/>")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"<br/>':""}return f},k=[],l=function(a){var b="<tag>&lt;",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' <button idx="'+k.length+'" onclick="api.shadowize.call(this)">'+c+"</button>",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+="&gt;</tag>"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(){var a=document.createElement("style");a.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; } \n";var b=document.querySelector("head");b.insertBefore(a,b.firstChild)}(Platform),function(a){function b(a,b){return b=b||[],b.map||(b=[b]),a.apply(this,b.map(d))}function c(a,c,d){var e;switch(arguments.length){case 0:return;case 1:e=null;break;case 2:e=c.apply(this);break;default:e=b(d,c)}f[a]=e}function d(a){return f[a]}function e(a,c){HTMLImports.whenImportsReady(function(){b(c,a)})}var f={};a.marshal=d,a.module=c,a.using=e}(window),function(a){function b(a){f.textContent=d++,e.push(a)}function c(){for(;e.length;)e.shift()()}var d=0,e=[],f=document.createTextNode("");new(window.MutationObserver||JsMutationObserver)(c).observe(f,{characterData:!0}),a.endOfMicrotask=b}(Platform),function(a){function b(a,b,d){return a.replace(d,function(a,d,e,f){var g=e.replace(/["']/g,"");return g=c(b,g),d+"'"+g+"'"+f})}function c(a,b){var c=new URL(b,a);return d(c.href)}function d(a){var b=document.baseURI,c=new URL(a,b);return c.host===b.host&&c.port===b.port&&c.protocol===b.protocol?e(b.pathname,c.pathname):a}function e(a,b){for(var c=a.split("/"),d=b.split("/");c.length&&c[0]===d[0];)c.shift(),d.shift();for(var e=0,f=c.length-1;f>e;e++)d.unshift("..");return d.join("/")}var f={resolveDom:function(a,b){b=b||a.ownerDocument.baseURI,this.resolveAttributes(a,b),this.resolveStyles(a,b);var c=a.querySelectorAll("template");if(c)for(var d,e=0,f=c.length;f>e&&(d=c[e]);e++)d.content&&this.resolveDom(d.content,b)},resolveTemplate:function(a){this.resolveDom(a.content,a.ownerDocument.baseURI)},resolveStyles:function(a,b){var c=a.querySelectorAll("style");if(c)for(var d,e=0,f=c.length;f>e&&(d=c[e]);e++)this.resolveStyle(d,b)},resolveStyle:function(a,b){b=b||a.ownerDocument.baseURI,a.textContent=this.resolveCssText(a.textContent,b)},resolveCssText:function(a,c){return a=b(a,c,g),b(a,c,h)},resolveAttributes:function(a,b){a.hasAttributes&&a.hasAttributes()&&this.resolveElementAttributes(a,b);var c=a&&a.querySelectorAll(j);if(c)for(var d,e=0,f=c.length;f>e&&(d=c[e]);e++)this.resolveElementAttributes(d,b)},resolveElementAttributes:function(a,b){b=b||a.ownerDocument.baseURI,i.forEach(function(d){var e=a.attributes[d];if(e&&e.value&&e.value.search(k)<0){var f=c(b,e.value);e.value=f}})}},g=/(url\()([^)]*)(\))/g,h=/(@import[\s]+(?!url\())([^;]*)(;)/g,i=["href","src","action"],j="["+i.join("],[")+"]",k="{{.*}}";a.urlResolver=f}(Platform),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e<d.length;e++){var f=d[e],g=f.options;if(c===a||g.subtree){var h=b(g);h&&f.enqueue(h)}}}}function g(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++v}function h(a,b){this.type=a,this.target=b,this.addedNodes=[],this.removedNodes=[],this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function i(a){var b=new h(a.type,a.target);return b.addedNodes=a.addedNodes.slice(),b.removedNodes=a.removedNodes.slice(),b.previousSibling=a.previousSibling,b.nextSibling=a.nextSibling,b.attributeName=a.attributeName,b.attributeNamespace=a.attributeNamespace,b.oldValue=a.oldValue,b}function j(a,b){return w=new h(a,b)}function k(a){return x?x:(x=i(w),x.oldValue=a,x)}function l(){w=x=void 0}function m(a){return a===x||a===w}function n(a,b){return a===b?a:x&&m(a)?x:null}function o(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}var p=new WeakMap,q=window.msSetImmediate;if(!q){var r=[],s=String(Math.random());window.addEventListener("message",function(a){if(a.data===s){var b=r;r=[],b.forEach(function(a){a()})}}),q=function(a){r.push(a),window.postMessage(s,"*")}}var t=!1,u=[],v=0;g.prototype={observe:function(a,b){if(a=c(a),!b.childList&&!b.attributes&&!b.characterData||b.attributeOldValue&&!b.attributes||b.attributeFilter&&b.attributeFilter.length&&!b.attributes||b.characterDataOldValue&&!b.characterData)throw new SyntaxError;var d=p.get(a);d||p.set(a,d=[]);for(var e,f=0;f<d.length;f++)if(d[f].observer===this){e=d[f],e.removeListeners(),e.options=b;break}e||(e=new o(this,a,b),d.push(e),this.nodes_.push(a)),e.addListeners()},disconnect:function(){this.nodes_.forEach(function(a){for(var b=p.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){d.removeListeners(),b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}};var w,x;o.prototype={enqueue:function(a){var c=this.observer.records_,d=c.length;if(c.length>0){var e=c[d-1],f=n(e,a);if(f)return void(c[d-1]=f)}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c<b.length;c++)if(b[c]===this){b.splice(c,1);break}},this)},handleEvent:function(a){switch(a.stopImmediatePropagation(),a.type){case"DOMAttrModified":var b=a.attrName,c=a.relatedNode.namespaceURI,d=a.target,e=new j("attributes",d);e.attributeName=b,e.attributeNamespace=c;var g=a.attrChange===MutationEvent.ADDITION?null:a.prevValue;f(d,function(a){return!a.attributes||a.attributeFilter&&a.attributeFilter.length&&-1===a.attributeFilter.indexOf(b)&&-1===a.attributeFilter.indexOf(c)?void 0:a.attributeOldValue?k(g):e});break;case"DOMCharacterDataModified":var d=a.target,e=j("characterData",d),g=a.prevValue;f(d,function(a){return a.characterData?a.characterDataOldValue?k(g):e:void 0});break;case"DOMNodeRemoved":this.addTransientObserver(a.target);case"DOMNodeInserted":var h,i,d=a.relatedNode,m=a.target;"DOMNodeInserted"===a.type?(h=[m],i=[]):(h=[],i=[m]);var n=m.previousSibling,o=m.nextSibling,e=j("childList",d);e.addedNodes=h,e.removedNodes=i,e.previousSibling=n,e.nextSibling=o,f(d,function(a){return a.childList?e:void 0})}l()}},a.JsMutationObserver=g,a.MutationObserver||(a.MutationObserver=g)}(this),window.HTMLImports=window.HTMLImports||{flags:{}},function(a){var b=(a.path,a.xhr),c=a.flags,d=function(a,b){this.cache={},this.onload=a,this.oncomplete=b,this.inflight=0,this.pending={}};d.prototype={addNodes:function(a){this.inflight+=a.length;for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)this.require(b);this.checkDone()},addNode:function(a){this.inflight++,this.require(a),this.checkDone()},require:function(a){var b=a.src||a.href;a.__nodeUrl=b,this.dedupe(b,a)||this.fetch(b,a)},dedupe:function(a,b){if(this.pending[a])return this.pending[a].push(b),!0;return this.cache[a]?(this.onload(a,b,this.cache[a]),this.tail(),!0):(this.pending[a]=[b],!1)},fetch:function(a,d){c.load&&console.log("fetch",a,d);var e=function(b,c){this.receive(a,d,b,c)}.bind(this);b.load(a,e)},receive:function(a,b,c,d){this.cache[a]=d;for(var e,f=this.pending[a],g=0,h=f.length;h>g&&(e=f[g]);g++)this.onload(a,e,d),this.tail();this.pending[a]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},b=b||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(c,d,e){var f=new XMLHttpRequest;return(a.flags.debug||a.flags.bust)&&(c+="?"+Math.random()),f.open("GET",c,b.async),f.addEventListener("readystatechange",function(){4===f.readyState&&d.call(e,!b.ok(f)&&f,f.response||f.responseText,c)}),f.send(),f},loadDocument:function(a,b,c){this.load(a,b,c).responseType="document"}},a.xhr=b,a.Loader=d}(window.HTMLImports),function(a){function b(a){return"link"===a.localName&&a.rel===g}function c(a){var b,c=d(a);try{b=btoa(c)}catch(e){b=btoa(unescape(encodeURIComponent(c))),console.warn("Script contained non-latin characters that were forced to latin. Some characters may be wrong.",a)}return"data:text/javascript;base64,"+b}function d(a){return a.textContent+e(a)}function e(a){var b=a.__nodeUrl;if(!b){b=a.ownerDocument.baseURI;var c="["+Math.floor(1e3*(Math.random()+1))+"]",d=a.textContent.match(/Polymer\(['"]([^'"]*)/);c=d&&d[1]||c,b+="/"+c+".js"}return"\n//# sourceURL="+b+"\n"}function f(a){var b=a.ownerDocument.createElement("style");return b.textContent=a.textContent,n.resolveUrlsInStyle(b),b}var g="import",h=a.flags,i=/Trident/.test(navigator.userAgent),j=window.ShadowDOMPolyfill?window.ShadowDOMPolyfill.wrapIfNeeded(document):document,k={documentSelectors:"link[rel="+g+"]",importsSelectors:["link[rel="+g+"]","link[rel=stylesheet]","style","script:not([type])",'script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},parseNext:function(){var a=this.nextToParse();a&&this.parse(a)},parse:function(a){if(this.isParsed(a))return void(h.parse&&console.log("[%s] is already parsed",a.localName));var b=this[this.map[a.localName]];b&&(this.markParsing(a),b.call(this,a))},markParsing:function(a){h.parse&&console.log("parsing",a),this.parsingElement=a},markParsingComplete:function(a){a.__importParsed=!0,a.__importElement&&(a.__importElement.__importParsed=!0),this.parsingElement=null,h.parse&&console.log("completed",a),this.parseNext()},parseImport:function(a){if(a.import.__importParsed=!0,HTMLImports.__importsParsingHook&&HTMLImports.__importsParsingHook(a),a.dispatchEvent(a.__resource?new CustomEvent("load",{bubbles:!1}):new CustomEvent("error",{bubbles:!1})),a.__pending)for(var b;a.__pending.length;)b=a.__pending.shift(),b&&b({target:a});this.markParsingComplete(a)},parseLink:function(a){b(a)?this.parseImport(a):(a.href=a.href,this.parseGeneric(a))},parseStyle:function(a){var b=a;a=f(a),a.__importElement=b,this.parseGeneric(a)},parseGeneric:function(a){this.trackElement(a),document.head.appendChild(a)},trackElement:function(a,b){var c=this,d=function(d){b&&b(d),c.markParsingComplete(a)};if(a.addEventListener("load",d),a.addEventListener("error",d),i&&"style"===a.localName){var e=!1;if(-1==a.textContent.indexOf("@import"))e=!0;else if(a.sheet){e=!0;for(var f,g=a.sheet.cssRules,h=g?g.length:0,j=0;h>j&&(f=g[j]);j++)f.type===CSSRule.IMPORT_RULE&&(e=e&&Boolean(f.styleSheet))}e&&a.dispatchEvent(new CustomEvent("load",{bubbles:!1}))}},parseScript:function(b){var d=document.createElement("script");d.__importElement=b,d.src=b.src?b.src:c(b),a.currentScript=b,this.trackElement(d,function(){d.parentNode.removeChild(d),a.currentScript=null}),document.head.appendChild(d)},nextToParse:function(){return!this.parsingElement&&this.nextToParseInDoc(j)},nextToParseInDoc:function(a,c){for(var d,e=a.querySelectorAll(this.parseSelectorsForNode(a)),f=0,g=e.length;g>f&&(d=e[f]);f++)if(!this.isParsed(d))return this.hasResource(d)?b(d)?this.nextToParseInDoc(d.import,d):d:void 0;return c},parseSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===j?this.documentSelectors:this.importsSelectors},isParsed:function(a){return a.__importParsed},hasResource:function(a){return b(a)&&!a.import?!1:!0}},l=/(url\()([^)]*)(\))/g,m=/(@import[\s]+(?!url\())([^;]*)(;)/g,n={resolveUrlsInStyle:function(a){var b=a.ownerDocument,c=b.createElement("a");return a.textContent=this.resolveUrlsInCssText(a.textContent,c),a},resolveUrlsInCssText:function(a,b){var c=this.replaceUrls(a,b,l);return c=this.replaceUrls(c,b,m)},replaceUrls:function(a,b,c){return a.replace(c,function(a,c,d,e){var f=d.replace(/["']/g,"");return b.href=f,f=b.href,c+"'"+f+"'"+e})}};a.parser=k,a.path=n,a.isIE=i}(HTMLImports),function(a){function b(a){return c(a,m)}function c(a,b){return"link"===a.localName&&a.getAttribute("rel")===b}function d(a,b){var c=a;c instanceof Document||(c=document.implementation.createHTMLDocument(m)),c._URL=b;var d=c.createElement("base");d.setAttribute("href",b),c.baseURI||(c.baseURI=b);var e=c.createElement("meta");return e.setAttribute("charset","utf-8"),c.head.appendChild(e),c.head.appendChild(d),a instanceof Document||(c.body.innerHTML=a),window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(c),c}function e(a,b){b=b||n,g(function(){h(a,b)},b)}function f(a){return"complete"===a.readyState||a.readyState===u}function g(a,b){if(f(b))a&&a();else{var c=function(){("complete"===b.readyState||b.readyState===u)&&(b.removeEventListener(v,c),g(a,b))};b.addEventListener(v,c)}}function h(a,b){function c(){f==g&&requestAnimationFrame(a)}function d(){f++,c()}var e=b.querySelectorAll("link[rel=import]"),f=0,g=e.length;if(g)for(var h,j=0;g>j&&(h=e[j]);j++)i(h)?d.call(h):(h.addEventListener("load",d),h.addEventListener("error",d));else c()}function i(a){return k?a.import&&"loading"!==a.import.readyState:a.__importParsed}var j="import"in document.createElement("link"),k=j,l=a.flags,m="import",n=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrapIfNeeded(document):document;if(k)var o={};else var p=(a.xhr,a.Loader),q=a.parser,o={documents:{},documentPreloadSelectors:"link[rel="+m+"]",importsPreloadSelectors:["link[rel="+m+"]"].join(","),loadNode:function(a){r.addNode(a)},loadSubtree:function(a){var b=this.marshalNodes(a);r.addNodes(b)},marshalNodes:function(a){return a.querySelectorAll(this.loadSelectorsForNode(a))},loadSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===n?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(a,c,e){if(l.load&&console.log("loaded",a,c),c.__resource=e,b(c)){var f=this.documents[a];f||(f=d(e,a),f.__importLink=c,this.bootDocument(f),this.documents[a]=f),c.import=f}q.parseNext()},bootDocument:function(a){this.loadSubtree(a),this.observe(a),q.parseNext()},loadedAll:function(){q.parseNext()}},r=new p(o.loaded.bind(o),o.loadedAll.bind(o));var s={get:function(){return HTMLImports.currentScript||document.currentScript},configurable:!0};if(Object.defineProperty(document,"_currentScript",s),Object.defineProperty(n,"_currentScript",s),!document.baseURI){var t={get:function(){return window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",t),Object.defineProperty(n,"baseURI",t)}var u=HTMLImports.isIE?"complete":"interactive",v="readystatechange";a.hasNative=j,a.useNative=k,a.importer=o,a.whenImportsReady=e,a.IMPORT_LINK_TYPE=m,a.isImportLoaded=i,a.importLoader=r}(window.HTMLImports),function(a){function b(a){for(var b,d=0,e=a.length;e>d&&(b=a[d]);d++)"childList"===b.type&&b.addedNodes.length&&c(b.addedNodes)}function c(a){for(var b,e=0,g=a.length;g>e&&(b=a[e]);e++)d(b)&&f.loadNode(b),b.children&&b.children.length&&c(b.children)}function d(a){return 1===a.nodeType&&g.call(a,f.loadSelectorsForNode(a))}function e(a){h.observe(a,{childList:!0,subtree:!0})}var f=(a.IMPORT_LINK_TYPE,a.importer),g=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector,h=new MutationObserver(b);a.observe=e,f.observe=e}(HTMLImports),function(){function a(){HTMLImports.importer.bootDocument(b)}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a,b){var c=document.createEvent("HTMLEvents");return c.initEvent(a,b.bubbles===!1?!1:!0,b.cancelable===!1?!1:!0,b.detail),c});var b=window.ShadowDOMPolyfill?window.ShadowDOMPolyfill.wrapIfNeeded(document):document;HTMLImports.whenImportsReady(function(){HTMLImports.ready=!0,HTMLImports.readyTime=(new Date).getTime(),b.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))}),HTMLImports.useNative||("complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?a():document.addEventListener("DOMContentLoaded",a))}(),window.CustomElements=window.CustomElements||{flags:{}},function(a){function b(a,c,d){var e=a.firstElementChild;if(!e)for(e=a.firstChild;e&&e.nodeType!==Node.ELEMENT_NODE;)e=e.nextSibling;for(;e;)c(e,d)!==!0&&b(e,c,d),e=e.nextElementSibling;return null}function c(a,b){for(var c=a.shadowRoot;c;)d(c,b),c=c.olderShadowRoot}function d(a,d){b(a,function(a){return d(a)?!0:void c(a,d)}),c(a,d)}function e(a){return h(a)?(i(a),!0):void l(a)}function f(a){d(a,function(a){return e(a)?!0:void 0})}function g(a){return e(a)||f(a)}function h(b){if(!b.__upgraded__&&b.nodeType===Node.ELEMENT_NODE){var c=b.getAttribute("is")||b.localName,d=a.registry[c];if(d)return A.dom&&console.group("upgrade:",b.localName),a.upgrade(b),A.dom&&console.groupEnd(),!0}}function i(a){l(a),r(a)&&d(a,function(a){l(a)})}function j(a){if(E.push(a),!D){D=!0;var b=window.Platform&&window.Platform.endOfMicrotask||setTimeout;b(k)}}function k(){D=!1;for(var a,b=E,c=0,d=b.length;d>c&&(a=b[c]);c++)a();E=[]}function l(a){C?j(function(){m(a)}):m(a)}function m(a){(a.attachedCallback||a.detachedCallback||a.__upgraded__&&A.dom)&&(A.dom&&console.group("inserted:",a.localName),r(a)&&(a.__inserted=(a.__inserted||0)+1,a.__inserted<1&&(a.__inserted=1),a.__inserted>1?A.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.attachedCallback&&(A.dom&&console.log("inserted:",a.localName),a.attachedCallback())),A.dom&&console.groupEnd())}function n(a){o(a),d(a,function(a){o(a)})}function o(a){C?j(function(){p(a)}):p(a)}function p(a){(a.attachedCallback||a.detachedCallback||a.__upgraded__&&A.dom)&&(A.dom&&console.group("removed:",a.localName),r(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?A.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.detachedCallback&&a.detachedCallback()),A.dom&&console.groupEnd())}function q(a){return window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrapIfNeeded(a):a}function r(a){for(var b=a,c=q(document);b;){if(b==c)return!0;b=b.parentNode||b.host}}function s(a){if(a.shadowRoot&&!a.shadowRoot.__watched){A.dom&&console.log("watching shadow-root for: ",a.localName);for(var b=a.shadowRoot;b;)t(b),b=b.olderShadowRoot}}function t(a){a.__watched||(w(a),a.__watched=!0)}function u(a){if(A.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(G(a.addedNodes,function(a){a.localName&&g(a)}),G(a.removedNodes,function(a){a.localName&&n(a)}))}),A.dom&&console.groupEnd()}function v(){u(F.takeRecords()),k()}function w(a){F.observe(a,{childList:!0,subtree:!0})}function x(a){w(a)}function y(a){A.dom&&console.group("upgradeDocument: ",a.baseURI.split("/").pop()),g(a),A.dom&&console.groupEnd()}function z(a){a=q(a);for(var b,c=a.querySelectorAll("link[rel="+B+"]"),d=0,e=c.length;e>d&&(b=c[d]);d++)b.import&&b.import.__parsed&&z(b.import);y(a)}var A=window.logFlags||{},B=window.HTMLImports?HTMLImports.IMPORT_LINK_TYPE:"none",C=!window.MutationObserver||window.MutationObserver===window.JsMutationObserver;a.hasPolyfillMutations=C;var D=!1,E=[],F=new MutationObserver(u),G=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.IMPORT_LINK_TYPE=B,a.watchShadow=s,a.upgradeDocumentTree=z,a.upgradeAll=g,a.upgradeSubtree=f,a.insertedNode=i,a.observeDocument=x,a.upgradeDocument=y,a.takeRecords=v}(window.CustomElements),function(a){function b(b,f){var g=f||{};if(!b)throw new Error("document.registerElement: first argument `name` must not be empty");if(b.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(b)+"'.");if(m(b))throw new Error("DuplicateDefinitionError: a type with name '"+String(b)+"' is already registered");if(!g.prototype)throw new Error("Options missing required prototype property");return g.__name=b.toLowerCase(),g.lifecycle=g.lifecycle||{},g.ancestry=c(g.extends),d(g),e(g),k(g.prototype),n(g.__name,g),g.ctor=o(g),g.ctor.prototype=g.prototype,g.prototype.constructor=g.ctor,a.ready&&a.upgradeDocumentTree(document),g.ctor}function c(a){var b=m(a);return b?c(b.extends).concat([b]):[]}function d(a){for(var b,c=a.extends,d=0;b=a.ancestry[d];d++)c=b.is&&b.tag;a.tag=c||a.__name,c&&(a.is=a.__name)}function e(a){if(!Object.__proto__){var b=HTMLElement.prototype;if(a.is){var c=document.createElement(a.tag);b=Object.getPrototypeOf(c)}for(var d,e=a.prototype;e&&e!==b;){var d=Object.getPrototypeOf(e);e.__proto__=d,e=d}}a.native=b}function f(a){return g(z(a.tag),a)}function g(b,c){return c.is&&b.setAttribute("is",c.is),b.removeAttribute("unresolved"),h(b,c),b.__upgraded__=!0,j(b),a.insertedNode(b),a.upgradeSubtree(b),b}function h(a,b){Object.__proto__?a.__proto__=b.prototype:(i(a,b.prototype,b.native),a.__proto__=b.prototype)}function i(a,b,c){for(var d={},e=b;e!==c&&e!==HTMLElement.prototype;){for(var f,g=Object.getOwnPropertyNames(e),h=0;f=g[h];h++)d[f]||(Object.defineProperty(a,f,Object.getOwnPropertyDescriptor(e,f)),d[f]=1);e=Object.getPrototypeOf(e)}}function j(a){a.createdCallback&&a.createdCallback()}function k(a){if(!a.setAttribute._polyfilled){var b=a.setAttribute;a.setAttribute=function(a,c){l.call(this,a,c,b)};var c=a.removeAttribute;a.removeAttribute=function(a){l.call(this,a,null,c)},a.setAttribute._polyfilled=!0}}function l(a,b,c){var d=this.getAttribute(a);c.apply(this,arguments);var e=this.getAttribute(a);this.attributeChangedCallback&&e!==d&&this.attributeChangedCallback(a,d,e)}function m(a){return a?x[a.toLowerCase()]:void 0}function n(a,b){x[a]=b}function o(a){return function(){return f(a)}}function p(a,b,c){return a===y?q(b,c):A(a,b)}function q(a,b){var c=m(b||a);if(c){if(a==c.tag&&b==c.is)return new c.ctor;if(!b&&!c.is)return new c.ctor}if(b){var d=q(a);return d.setAttribute("is",b),d}var d=z(a);return a.indexOf("-")>=0&&h(d,HTMLElement),d}function r(a){if(!a.__upgraded__&&a.nodeType===Node.ELEMENT_NODE){var b=a.getAttribute("is"),c=m(b||a.localName);if(c){if(b&&c.tag==a.localName)return g(a,c);if(!b&&!c.extends)return g(a,c)}}}function s(b){var c=B.call(this,b);return a.upgradeAll(c),c}a||(a=window.CustomElements={flags:{}});var t=a.flags,u=Boolean(document.registerElement),v=!t.register&&u&&!window.ShadowDOMPolyfill;if(v){var w=function(){};a.registry={},a.upgradeElement=w,a.watchShadow=w,a.upgrade=w,a.upgradeAll=w,a.upgradeSubtree=w,a.observeDocument=w,a.upgradeDocument=w,a.upgradeDocumentTree=w,a.takeRecords=w}else{var x={},y="http://www.w3.org/1999/xhtml",z=document.createElement.bind(document),A=document.createElementNS.bind(document),B=Node.prototype.cloneNode;document.registerElement=b,document.createElement=q,document.createElementNS=p,Node.prototype.cloneNode=s,a.registry=x,a.upgrade=r}var C;C=Object.__proto__||v?function(a,b){return a instanceof b}:function(a,b){for(var c=a;c;){if(c===b.prototype)return!0;c=c.__proto__}return!1},a.instanceof=C,document.register=document.registerElement,a.hasNative=u,a.useNative=v}(window.CustomElements),function(a){function b(a){return"link"===a.localName&&a.getAttribute("rel")===c}var c=a.IMPORT_LINK_TYPE,d={selectors:["link[rel="+c+"]"],map:{link:"parseLink"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(d.selectors);e(b,function(a){d[d.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(a){b(a)&&this.parseImport(a)},parseImport:function(a){a.import&&d.parse(a.import)}},e=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=d,a.IMPORT_LINK_TYPE=c}(window.CustomElements),function(a){function b(){CustomElements.parser.parse(document),CustomElements.upgradeDocument(document);var a=window.Platform&&Platform.endOfMicrotask?Platform.endOfMicrotask:setTimeout;a(function(){CustomElements.ready=!0,CustomElements.readyTime=Date.now(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0})),window.HTMLImports&&(HTMLImports.__importsParsingHook=function(a){CustomElements.parser.parse(a.import)})})}if("function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||a.flags.eager)b();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var c=window.HTMLImports&&!HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(c,b)}else b()}(window.CustomElements),function(){if(window.ShadowDOMPolyfill){var a=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],b={};a.forEach(function(a){b[a]=CustomElements[a]}),a.forEach(function(a){CustomElements[a]=function(c){return b[a](wrap(c))}})}}(),function(a){function b(a){this.regex=a}var c=a.endOfMicrotask;b.prototype={extractUrls:function(a,b){for(var c,d,e=[];c=this.regex.exec(a);)d=new URL(c[1],b),e.push({matched:c[0],url:d.href});return e},process:function(a,b,c){var d=this.extractUrls(a,b);this.fetch(d,{},c)},fetch:function(a,b,d){var e=a.length;if(!e)return d(b);for(var f,g,h,i=function(){0===--e&&d(b)},j=function(a,c){var d=c.match,e=d.url;if(a)return b[e]="",i();var f=c.response||c.responseText;b[e]=f,this.fetch(this.extractUrls(f,e),b,i)},k=0;e>k;k++)f=a[k],h=f.url,b[h]?c(i):(g=this.xhr(h,j,this),g.match=f,b[h]=g)},xhr:function(a,b,c){var d=new XMLHttpRequest;return d.open("GET",a,!0),d.send(),d.onload=function(){b.call(c,null,d)},d.onerror=function(){b.call(c,null,d)},d}},a.Loader=b}(window.Platform),function(a){function b(){this.loader=new d(this.regex)}var c=a.urlResolver,d=a.Loader;b.prototype={regex:/@import\s+(?:url)?["'\(]*([^'"\)]*)['"\)]*;/g,resolve:function(a,b,c){var d=function(d){c(this.flatten(a,b,d))}.bind(this);this.loader.process(a,b,d)},resolveNode:function(a,b){var c=a.textContent,d=a.ownerDocument.baseURI,e=function(c){a.textContent=c,b(a)};this.resolve(c,d,e)},flatten:function(a,b,d){for(var e,f,g,h=this.loader.extractUrls(a,b),i=0;i<h.length;i++)e=h[i],f=e.url,g=c.resolveCssText(d[f],f),g=this.flatten(g,f,d),a=a.replace(e.matched,g);return a},loadStyles:function(a,b){function c(){e++,e===f&&b&&b()}for(var d,e=0,f=a.length,g=0;f>g&&(d=a[g]);g++)this.resolveNode(d,c)}};var e=new b;a.styleResolver=e}(window.Platform),function(a){a=a||{},a.external=a.external||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d}e=this.olderShadow(e)}return f}},owner:function(a){for(var b=a;b.parentNode;)b=b.parentNode;return b.nodeType!=Node.DOCUMENT_NODE&&b.nodeType!=Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return"body ^^ "+b(a)}function b(a){return'[touch-action="'+a+'"]'}function c(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; touch-action-delay: none; }"}var d=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],e="";d.forEach(function(d){String(d)===d?(e+=b(d)+c(d)+"\n",e+=a(d)+c(d)+"\n"):(e+=d.selectors.map(b)+c(d.rule)+"\n",e+=d.selectors.map(a)+c(d.rule)+"\n")});var f=document.createElement("style");f.textContent=e,document.head.appendChild(f)}(),function(a){function b(a,e){e=e||{};var f=e.buttons;if(!d&&!f&&"touch"!==a)switch(e.which){case 1:f=1;break;case 2:f=4;break;case 3:f=2;break;default:f=0}var i;if(c)i=new MouseEvent(a,e);else{i=document.createEvent("MouseEvent");for(var j,k={},l=0;l<g.length;l++)j=g[l],k[j]=e[j]||h[l];i.initMouseEvent(a,k.bubbles,k.cancelable,k.view,k.detail,k.screenX,k.screenY,k.clientX,k.clientY,k.ctrlKey,k.altKey,k.shiftKey,k.metaKey,k.button,k.relatedTarget)}i.__proto__=b.prototype,d||Object.defineProperty(i,"buttons",{get:function(){return f},enumerable:!0});var m=0;return m=e.pressure?e.pressure:f?.5:0,Object.defineProperties(i,{pointerId:{value:e.pointerId||0,enumerable:!0},width:{value:e.width||0,enumerable:!0},height:{value:e.height||0,enumerable:!0},pressure:{value:m,enumerable:!0},tiltX:{value:e.tiltX||0,enumerable:!0},tiltY:{value:e.tiltY||0,enumerable:!0},pointerType:{value:e.pointerType||"",enumerable:!0},hwTimestamp:{value:e.hwTimestamp||0,enumerable:!0},isPrimary:{value:e.isPrimary||!1,enumerable:!0}}),i}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons,e=null}catch(f){}var g=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget"],h=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null];b.prototype=Object.create(MouseEvent.prototype),a.PointerEvent||(a.PointerEvent=b)}(window),function(a){function b(){if(c){var a=new Map;return a.pointers=d,a}this.keys=[],this.values=[]}var c=window.Map&&window.Map.prototype.forEach,d=function(){return this.size};b.prototype={set:function(a,b){var c=this.keys.indexOf(a);
-c>-1?this.values[c]=b:(this.keys.push(a),this.values.push(b))},has:function(a){return this.keys.indexOf(a)>-1},"delete":function(a){var b=this.keys.indexOf(a);b>-1&&(this.keys.splice(b,1),this.values.splice(b,1))},get:function(a){var b=this.keys.indexOf(a);return this.values[b]},clear:function(){this.keys.length=0,this.values.length=0},forEach:function(a,b){this.values.forEach(function(c,d){a.call(b,c,this.keys[d],this)},this)},pointers:function(){return this.keys.length}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which"],c=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0],d="undefined"!=typeof SVGElementInstance,e={targets:new WeakMap,handledEvents:new WeakMap,pointermap:new a.PointerMap,eventMap:{},eventSources:{},eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;c>d&&(b=this.eventSourceList[d]);d++)b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;c>d&&(b=this.eventSourceList[d]);d++)b.unregister.call(b,a)},contains:a.external.contains||function(a,b){return a.contains(b)},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.contains(a.target,a.relatedTarget)||this.leave(a)},enterOver:function(a){this.over(a),this.contains(a.target,a.relatedTarget)||this.enter(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:a.external.addEvent||function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:a.external.removeEvent||function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(a,b){this.captureInfo&&(b.relatedTarget=null);var c=new PointerEvent(a,b);return b.preventDefault&&(c.preventDefault=b.preventDefault),this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var e,f={},g=0;g<b.length;g++)e=b[g],f[e]=a[e]||c[g],!d||"target"!==e&&"relatedTarget"!==e||f[e]instanceof SVGElementInstance&&(f[e]=f[e].correspondingUseElement);return a.preventDefault&&(f.preventDefault=function(){a.preventDefault()}),f},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:a.external.dispatchEvent||function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};e.boundHandler=e.eventHandler.bind(e),a.dispatcher=e,a.register=e.register.bind(e),a.unregister=e.unregister.bind(e)}(window.PointerEventsPolyfill),function(a){function b(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),g&&(this.observer=new g(this.mutationWatcher.bind(this)))}var c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e=Array.prototype.slice.call.bind(Array.prototype.slice),f=Array.prototype.filter.call.bind(Array.prototype.filter),g=window.MutationObserver||window.WebKitMutationObserver,h="[touch-action]",i={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};b.prototype={watchSubtree:function(b){a.targetFinding.canTarget(b)&&this.observer.observe(b,i)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(h):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(e(b))},installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(f(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}},g||(b.prototype.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}),a.Installer=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d=25,e={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){b.listen(a,this.events)},unregister:function(a){b.unlisten(a,this.events)},lastTouches:[],isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,e=a.clientX,f=a.clientY,g=0,h=c.length;h>g&&(b=c[g]);g++){var i=Math.abs(e-b.x),j=Math.abs(f-b.y);if(d>=i&&d>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a),d=c.preventDefault;return c.preventDefault=function(){a.preventDefault(),d()},c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.has(this.POINTER_ID);d&&this.cancel(a);var e=this.prepareEvent(a);c.set(this.POINTER_ID,a),b.down(e)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.get(this.POINTER_ID);if(d&&d.button===a.button){var e=this.prepareEvent(a);b.up(e),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){c["delete"](this.POINTER_ID)}};a.mouseEvents=e}(window.PointerEventsPolyfill),function(a){var b,c=a.dispatcher,d=a.findTarget,e=a.targetFinding.allShadows.bind(a.targetFinding),f=c.pointermap,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=200,j="touch-action",k=!1,l={scrollType:new WeakMap,events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){k?c.listen(a,this.events):b.enableOnSubtree(a)},unregister:function(a){k&&c.unlisten(a,this.events)},elementAdded:function(a){var b=a.getAttribute(j),d=this.touchActionToScrollType(b);d&&(this.scrollType.set(a,d),c.listen(a,this.events),e(a).forEach(function(a){this.scrollType.set(a,d),c.listen(a,this.events)},this))},elementRemoved:function(a){this.scrollType["delete"](a),c.unlisten(a,this.events),e(a).forEach(function(a){this.scrollType["delete"](a),c.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(j),d=this.touchActionToScrollType(c),f=this.touchActionToScrollType(b);d&&f?(this.scrollType.set(a,d),e(a).forEach(function(a){this.scrollType.set(a,d)},this)):f?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){(0===f.pointers()||1===f.pointers()&&f.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,i)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return("touchstart"===a||"touchmove"===a)&&(b=1),b},touchToPointer:function(a){var b=c.cloneEvent(a);return b.pointerId=a.identifier+2,b.target=d(b),b.bubbles=!0,b.cancelable=!0,b.detail=this.clickCount,b.button=0,b.buttons=this.typeToButtons(this.currentTouchEvent),b.width=a.webkitRadiusX||a.radiusX||0,b.height=a.webkitRadiusY||a.radiusY||0,b.pressure=a.webkitForce||a.force||.5,b.isPrimary=this.isPrimaryTouch(a),b.pointerType=this.POINTER_TYPE,b},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a.type;var d=g(c,this.touchToPointer,this);d.forEach(function(b){b.preventDefault=function(){this.scrolling=!1,this.firstXY=null,a.preventDefault()}},this),d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=this.scrollType.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(f.pointers()>=b.length){var c=[];f.forEach(function(a,d){if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(this.touchToPointer(e))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){f.set(a.pointerId,{target:a.target,out:a,outTarget:a.target});c.over(a),c.enter(a),c.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,d=f.get(b.pointerId);if(d){var e=d.out,g=d.outTarget;c.move(b),e&&g!==b.target&&(e.relatedTarget=b.target,b.relatedTarget=g,e.target=g,b.target?(c.leaveOut(e),c.enterOver(b)):(b.target=g,b.relatedTarget=null,this.cancelOut(b))),d.out=b,d.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(c.up(a),c.out(a),c.leave(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){c.cancel(a),c.out(a),c.leave(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){f["delete"](a.pointerId),this.removePrimaryPointer(a)},dedupSynthMouse:function(b){var c=a.mouseEvents.lastTouches,d=b.changedTouches[0];if(this.isPrimaryTouch(d)){var e={x:d.clientX,y:d.clientY};c.push(e);var f=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,c,e);setTimeout(f,h)}}};k||(b=new a.Installer(l.elementAdded,l.elementRemoved,l.elementChanged,l)),a.touchEvents=l}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,e={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){b.listen(a,this.events)},unregister:function(a){b.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=a;return d&&(c=b.cloneEvent(a),c.pointerType=this.POINTER_TYPES[a.pointerType]),c},cleanup:function(a){c["delete"](a)},MSPointerDown:function(a){c.set(a.pointerId,a);var d=this.prepareEvent(a);b.down(d)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};a.msEvents=e}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher;if(void 0===window.navigator.pointerEnabled){if(Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0}),window.navigator.msPointerEnabled){var c=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:c,enumerable:!0}),b.registerSource("ms",a.msEvents)}else b.registerSource("mouse",a.mouseEvents),void 0!==window.ontouchstart&&b.registerSource("touch",a.touchEvents);b.register(document)}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){function b(){if(c){var a=new Map;return a.pointers=d,a}this.keys=[],this.values=[]}var c=window.Map&&window.Map.prototype.forEach,d=function(){return this.size};b.prototype={set:function(a,b){var c=this.keys.indexOf(a);c>-1?this.values[c]=b:(this.keys.push(a),this.values.push(b))},has:function(a){return this.keys.indexOf(a)>-1},"delete":function(a){var b=this.keys.indexOf(a);b>-1&&(this.keys.splice(b,1),this.values.splice(b,1))},get:function(a){var b=this.keys.indexOf(a);return this.values[b]},clear:function(){this.keys.length=0,this.values.length=0},forEach:function(a,b){this.values.forEach(function(c,d){a.call(b,c,this.keys[d],this)},this)},pointers:function(){return this.keys.length}},a.PointerMap=b}(window.PointerGestures),function(a){var b=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","screenX","screenY","pageX","pageY","tapPrevented"],c=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],d={handledEvents:new WeakMap,targets:new WeakMap,handlers:{},recognizers:{},events:{},registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,c.events.forEach(function(a){if(c[a]){this.events[a]=!0;var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(Object.keys(this.events),a)},unregisterTarget:function(a){this.unlisten(Object.keys(this.events),a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.handlers[b];c&&this.makeQueue(c,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){for(var d,e={},f=0;f<b.length;f++)d=b[f],e[d]=a[d]||c[f];return e},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};d.boundHandler=d.eventHandler.bind(d),d.registerQueue=[],d.immediateRegister=!1,a.dispatcher=d,a.register=function(b){if(d.immediateRegister){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)}else d.registerQueue.push(b)},a.register(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType,clientX:this.heldPointer.clientX,clientY:this.heldPointer.clientY};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,relatedTarget:c.target,pointerType:c.pointerType},i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d=180/Math.PI,e={events:["pointerdown","pointermove","pointerup","pointercancel"],reference:{},pointerdown:function(b){if(c.set(b.pointerId,b),2==c.pointers()){var d=this.calcChord(),e=this.calcAngle(d);this.reference={angle:e,diameter:d.diameter,target:a.findLCA(d.a.target,d.b.target)}}},pointerup:function(a){c.delete(a.pointerId)},pointermove:function(a){c.has(a.pointerId)&&(c.set(a.pointerId,a),c.pointers()>1&&this.calcPinchRotate())},pointercancel:function(a){this.pointerup(a)},dispatchPinch:function(a,c){var d=a/this.reference.diameter,e=b.makeEvent("pinch",{scale:d,centerX:c.center.x,centerY:c.center.y});b.dispatchEvent(e,this.reference.target)},dispatchRotate:function(a,c){var d=Math.round((a-this.reference.angle)%360),e=b.makeEvent("rotate",{angle:d,centerX:c.center.x,centerY:c.center.y});b.dispatchEvent(e,this.reference.target)},calcPinchRotate:function(){var a=this.calcChord(),b=a.diameter,c=this.calcAngle(a);b!=this.reference.diameter&&this.dispatchPinch(b,a),c!=this.reference.angle&&this.dispatchRotate(c,a)},calcChord:function(){var a=[];c.forEach(function(b){a.push(b)});for(var b,d,e,f=0,g={a:a[0],b:a[1]},h=0;h<a.length;h++)for(var i=a[h],j=h+1;j<a.length;j++){var k=a[j];b=Math.abs(i.clientX-k.clientX),d=Math.abs(i.clientY-k.clientY),e=b+d,e>f&&(f=e,g={a:i,b:k})}return b=Math.abs(g.a.clientX+g.b.clientX)/2,d=Math.abs(g.a.clientY+g.b.clientY)/2,g.center={x:b,y:d},g.diameter=f,g},calcAngle:function(a){var b=a.a.clientX-a.b.clientX,c=a.a.clientY-a.b.clientY;return(360+Math.atan2(c,b)*d)%360}};b.registerRecognizer("pinch",e)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel","keyup"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,buttons:a.buttons,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},shouldTap:function(a,b){return a.tapPrevented?void 0:"mouse"===a.pointerType?1===b.buttons:!0},pointerup:function(d){var e=c.get(d.pointerId);if(e&&this.shouldTap(d,e)){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,detail:d.detail,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},keyup:function(a){var c=a.keyCode;if(32===c){var d=a.target;d instanceof HTMLInputElement||d instanceof HTMLTextAreaElement||b.dispatchEvent(b.makeEvent("tap",{x:0,y:0,detail:0,pointerType:"unavailable"}),d)}},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(a){function b(){c.immediateRegister=!0;var b=c.registerQueue;b.forEach(a.register),b.length=0}var c=a.dispatcher;"complete"===document.readyState?b():document.addEventListener("readystatechange",function(){"complete"===document.readyState&&b()})}(window.PointerGestures),function(){"use strict";function a(a){for(;a.parentNode;)a=a.parentNode;return"function"==typeof a.getElementById?a:null}function b(a,b){var c=a.bindings;if(!c)return void(a.bindings={});var d=c[b];d&&(d.close(),c[b]=void 0)}function c(a){return null==a?"":a}function d(a,b){a.data=c(b)}function e(a){return function(b){return d(a,b)}}function f(a,b,d,e){return d?void(e?a.setAttribute(b,""):a.removeAttribute(b)):void a.setAttribute(b,c(e))}function g(a,b,c){return function(d){f(a,b,c,d)}}function h(a){switch(a.type){case"checkbox":return s;case"radio":case"select-multiple":case"select-one":return"change";case"range":if(/Trident|MSIE/.test(navigator.userAgent))return"change";default:return"input"}}function i(a,b,d,e){a[b]=(e||c)(d)}function j(a,b,c){return function(d){return i(a,b,d,c)}}function k(){}function l(a,b,c,d){function e(){c.setValue(a[b]),c.discardChanges(),(d||k)(a),Platform.performMicrotaskCheckpoint()}var f=h(a);a.addEventListener(f,e);var g=c.close;c.close=function(){g&&(a.removeEventListener(f,e),c.close=g,c.close(),g=void 0)}}function m(a){return Boolean(a)}function n(b){if(b.form)return r(b.form.elements,function(a){return a!=b&&"INPUT"==a.tagName&&"radio"==a.type&&a.name==b.name});var c=a(b);if(!c)return[];var d=c.querySelectorAll('input[type="radio"][name="'+b.name+'"]');return r(d,function(a){return a!=b&&!a.form})}function o(a){"INPUT"===a.tagName&&"radio"===a.type&&n(a).forEach(function(a){var b=a.bindings.checked;b&&b.setValue(!1)})}function p(a,b){var d,e,f,g=a.parentNode;g instanceof HTMLSelectElement&&g.bindings&&g.bindings.value&&(d=g,e=d.bindings.value,f=d.value),a.value=c(b),d&&d.value!=f&&(e.setValue(d.value),e.discardChanges(),Platform.performMicrotaskCheckpoint())}function q(a){return function(b){p(a,b)}}var r=Array.prototype.filter.call.bind(Array.prototype.filter);Node.prototype.bind=function(a,b){console.error("Unhandled binding to Node: ",this,a,b)},Node.prototype.unbind=function(a){b(this,a)},Node.prototype.unbindAll=function(){if(this.bindings){for(var a=Object.keys(this.bindings),b=0;b<a.length;b++){var c=this.bindings[a[b]];c&&c.close()}this.bindings={}}},Text.prototype.bind=function(a,c,f){return"textContent"!==a?Node.prototype.bind.call(this,a,c,f):f?d(this,c):(b(this,"textContent"),d(this,c.open(e(this))),this.bindings.textContent=c)},Element.prototype.bind=function(a,c,d){var e="?"==a[a.length-1];return e&&(this.removeAttribute(a),a=a.slice(0,-1)),d?f(this,a,e,c):(b(this,a),f(this,a,e,c.open(g(this,a,e))),this.bindings[a]=c)};var s;!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),s=1==d?"change":c}(),HTMLInputElement.prototype.bind=function(a,d,e){if("value"!==a&&"checked"!==a)return HTMLElement.prototype.bind.call(this,a,d,e);this.removeAttribute(a);var f="checked"==a?m:c,g="checked"==a?o:k;return e?i(this,a,d,f):(b(this,a),l(this,a,d,g),i(this,a,d.open(j(this,a,f)),f),this.bindings[a]=d)},HTMLTextAreaElement.prototype.bind=function(a,d,e){return"value"!==a?HTMLElement.prototype.bind.call(this,a,d,e):(this.removeAttribute("value"),e?i(this,"value",d):(b(this,"value"),l(this,"value",d),i(this,"value",d.open(j(this,"value",c))),this.bindings.value=d))},HTMLOptionElement.prototype.bind=function(a,c,d){return"value"!==a?HTMLElement.prototype.bind.call(this,a,c,d):(this.removeAttribute("value"),d?p(this,c):(b(this,"value"),l(this,"value",c),p(this,c.open(q(this))),this.bindings.value=c))},HTMLSelectElement.prototype.bind=function(a,c,d){return"selectedindex"===a&&(a="selectedIndex"),"selectedIndex"!==a&&"value"!==a?HTMLElement.prototype.bind.call(this,a,c,d):(this.removeAttribute(a),d?i(this,a,c):(b(this,a),l(this,a,c),i(this,a,c.open(j(this,a))),this.bindings[a]=c))}}(this),function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a){for(var b;b=a.parentNode;)a=b;return a}function d(a,b){if(b){for(var d,e="#"+b;!d&&(a=c(a),a.protoContent_?d=a.protoContent_.querySelector(e):a.getElementById&&(d=a.getElementById(b)),!d&&a.templateCreator_);)a=a.templateCreator_;return d}}function e(a){return"template"==a.tagName&&"http://www.w3.org/2000/svg"==a.namespaceURI}function f(a){return"TEMPLATE"==a.tagName&&"http://www.w3.org/1999/xhtml"==a.namespaceURI}function g(a){return Boolean(J[a.tagName]&&a.hasAttribute("template"))}function h(a){return void 0===a.isTemplate_&&(a.isTemplate_="TEMPLATE"==a.tagName||g(a)),a.isTemplate_}function i(a,b){var c=a.querySelectorAll(L);h(a)&&b(a),E(c,b)}function j(a){function b(a){HTMLTemplateElement.decorate(a)||j(a.content)}i(a,b)}function k(a,b){Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))})}function l(a){var b=a.ownerDocument;if(!b.defaultView)return b;var c=b.templateContentsOwner_;if(!c){for(c=b.implementation.createHTMLDocument("");c.lastChild;)c.removeChild(c.lastChild);b.templateContentsOwner_=c}return c}function m(a){if(!a.stagingDocument_){var b=a.ownerDocument;if(!b.stagingDocument_){b.stagingDocument_=b.implementation.createHTMLDocument("");var c=b.stagingDocument_.createElement("base");c.href=document.baseURI,b.stagingDocument_.head.appendChild(c),b.stagingDocument_.stagingDocument_=b.stagingDocument_}a.stagingDocument_=b.stagingDocument_}return a.stagingDocument_}function n(a){var b=a.ownerDocument.createElement("template");a.parentNode.insertBefore(b,a);for(var c=a.attributes,d=c.length;d-->0;){var e=c[d];I[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function o(a){var b=a.ownerDocument.createElement("template");a.parentNode.insertBefore(b,a);for(var c=a.attributes,d=c.length;d-->0;){var e=c[d];b.setAttribute(e.name,e.value),a.removeAttribute(e.name)
-}return a.parentNode.removeChild(a),b}function p(a,b,c){var d=a.content;if(c)return void d.appendChild(b);for(var e;e=b.firstChild;)d.appendChild(e)}function q(a){N?a.__proto__=HTMLTemplateElement.prototype:k(a,HTMLTemplateElement.prototype)}function r(a){a.setModelFn_||(a.setModelFn_=function(){a.setModelFnScheduled_=!1;var b=z(a,a.delegate_&&a.delegate_.prepareBinding);w(a,b,a.model_)}),a.setModelFnScheduled_||(a.setModelFnScheduled_=!0,Observer.runEOM_(a.setModelFn_))}function s(a,b,c,d){if(a&&a.length){for(var e,f=a.length,g=0,h=0,i=0,j=!0;f>h;){var g=a.indexOf("{{",h),k=a.indexOf("[[",h),l=!1,m="}}";if(k>=0&&(0>g||g>k)&&(g=k,l=!0,m="]]"),i=0>g?-1:a.indexOf(m,g+2),0>i){if(!e)return;e.push(a.slice(h));break}e=e||[],e.push(a.slice(h,g));var n=a.slice(g+2,i).trim();e.push(l),j=j&&l,e.push(Path.get(n));var o=d&&d(n,b,c);e.push(o),h=i+2}return h===f&&e.push(""),e.hasOnePath=5===e.length,e.isSimplePath=e.hasOnePath&&""==e[0]&&""==e[4],e.onlyOneTime=j,e.combinator=function(a){for(var b=e[0],c=1;c<e.length;c+=4){var d=e.hasOnePath?a:a[(c-1)/4];void 0!==d&&(b+=d),b+=e[c+3]}return b},e}}function t(a,b,c,d){if(b.hasOnePath){var e=b[3],f=e?e(d,c,!0):b[2].getValueFrom(d);return b.isSimplePath?f:b.combinator(f)}for(var g=[],h=1;h<b.length;h+=4){var e=b[h+2];g[(h-1)/4]=e?e(d,c):b[h+1].getValueFrom(d)}return b.combinator(g)}function u(a,b,c,d){var e=b[3],f=e?e(d,c,!1):new PathObserver(d,b[2]);return b.isSimplePath?f:new ObserverTransform(f,b.combinator)}function v(a,b,c,d){if(b.onlyOneTime)return t(a,b,c,d);if(b.hasOnePath)return u(a,b,c,d);for(var e=new CompoundObserver,f=1;f<b.length;f+=4){var g=b[f],h=b[f+2];if(h){var i=h(d,c,g);g?e.addPath(i):e.addObserver(i)}else{var j=b[f+1];g?e.addPath(j.getValueFrom(d)):e.addPath(d,j)}}return new ObserverTransform(e,b.combinator)}function w(a,b,c,d){for(var e=0;e<b.length;e+=2){var f=b[e],g=b[e+1],h=v(f,g,a,c),i=a.bind(f,h,g.onlyOneTime);i&&d&&d.push(i)}if(b.isTemplate){a.model_=c;var j=a.processBindingDirectives_(b);d&&j&&d.push(j)}}function x(a,b,c){var d=a.getAttribute(b);return s(""==d?"{{}}":d,b,a,c)}function y(a,c){b(a);for(var d=[],e=0;e<a.attributes.length;e++){for(var f=a.attributes[e],g=f.name,i=f.value;"_"===g[0];)g=g.substring(1);if(!h(a)||g!==H&&g!==F&&g!==G){var j=s(i,g,a,c);j&&d.push(g,j)}}return h(a)&&(d.isTemplate=!0,d.if=x(a,H,c),d.bind=x(a,F,c),d.repeat=x(a,G,c),!d.if||d.bind||d.repeat||(d.bind=s("{{}}",F,a,c))),d}function z(a,b){if(a.nodeType===Node.ELEMENT_NODE)return y(a,b);if(a.nodeType===Node.TEXT_NODE){var c=s(a.data,"textContent",a,b);if(c)return["textContent",c]}return[]}function A(a,b,c,d,e,f,g){for(var h=b.appendChild(c.importNode(a,!1)),i=0,j=a.firstChild;j;j=j.nextSibling)A(j,h,c,d.children[i++],e,f,g);return d.isTemplate&&(HTMLTemplateElement.decorate(h,a),f&&h.setDelegate_(f)),w(h,d,e,g),h}function B(a,b){var c=z(a,b);c.children={};for(var d=0,e=a.firstChild;e;e=e.nextSibling)c.children[d++]=B(e,b);return c}function C(a){this.closed=!1,this.templateElement_=a,this.terminators=[],this.deps=void 0,this.iteratedValue=[],this.presentValue=void 0,this.arrayObserver=void 0}var D,E=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.Map&&"function"==typeof a.Map.prototype.forEach?D=a.Map:(D=function(){this.keys=[],this.values=[]},D.prototype={set:function(a,b){var c=this.keys.indexOf(a);0>c?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);if(!(0>b))return this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c<this.keys.length;c++)a.call(b||this,this.values[c],this.keys[c],this)}});"function"!=typeof document.contains&&(Document.prototype.contains=function(a){return a===this||a.parentNode===this?!0:this.documentElement.contains(a)});var F="bind",G="repeat",H="if",I={template:!0,repeat:!0,bind:!0,ref:!0},J={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},K="undefined"!=typeof HTMLTemplateElement;K&&!function(){var a=document.createElement("template"),b=a.content.ownerDocument,c=b.appendChild(b.createElement("html")),d=c.appendChild(b.createElement("head")),e=b.createElement("base");e.href=document.baseURI,d.appendChild(e)}();var L="template, "+Object.keys(J).map(function(a){return a.toLowerCase()+"[template]"}).join(", ");document.addEventListener("DOMContentLoaded",function(){j(document),Platform.performMicrotaskCheckpoint()},!1),K||(a.HTMLTemplateElement=function(){throw TypeError("Illegal constructor")});var M,N="__proto__"in{};"function"==typeof MutationObserver&&(M=new MutationObserver(function(a){for(var b=0;b<a.length;b++)a[b].target.refChanged_()})),HTMLTemplateElement.decorate=function(a,c){if(a.templateIsDecorated_)return!1;var d=a;d.templateIsDecorated_=!0;var h=f(d)&&K,i=h,k=!h,m=!1;if(h||(g(d)?(b(!c),d=n(a),d.templateIsDecorated_=!0,h=K,m=!0):e(d)&&(d=o(a),d.templateIsDecorated_=!0,h=K)),!h){q(d);var r=l(d);d.content_=r.createDocumentFragment()}return c?d.instanceRef_=c:k?p(d,a,m):i&&j(d.content),!0},HTMLTemplateElement.bootstrap=j;var O=a.HTMLUnknownElement||HTMLElement,P={get:function(){return this.content_},enumerable:!0,configurable:!0};K||(HTMLTemplateElement.prototype=Object.create(O.prototype),Object.defineProperty(HTMLTemplateElement.prototype,"content",P)),k(HTMLTemplateElement.prototype,{bind:function(a,b,c){if("ref"!=a)return Element.prototype.bind.call(this,a,b,c);var d=this,e=c?b:b.open(function(a){d.setAttribute("ref",a),d.refChanged_()});return this.setAttribute("ref",e),this.refChanged_(),c?void 0:(this.unbind("ref"),this.bindings.ref=b)},processBindingDirectives_:function(a){return this.iterator_&&this.iterator_.closeDeps(),a.if||a.bind||a.repeat?(this.iterator_||(this.iterator_=new C(this),this.bindings=this.bindings||{},this.bindings.iterator=this.iterator_),this.iterator_.updateDependencies(a,this.model_),M&&M.observe(this,{attributes:!0,attributeFilter:["ref"]}),this.iterator_):void(this.iterator_&&(this.iterator_.close(),this.iterator_=void 0,this.bindings.iterator=void 0))},createInstance:function(a,b,c,d){b&&(c=this.newDelegate_(b)),this.refContent_||(this.refContent_=this.ref_.content);var e=this.refContent_,f=this.bindingMap_;f&&f.content===e||(f=B(e,c&&c.prepareBinding)||[],f.content=e,this.bindingMap_=f);var g=m(this),h=g.createDocumentFragment();h.templateCreator_=this,h.protoContent_=e;for(var i={firstNode:null,lastNode:null,model:a},j=0,k=e.firstChild;k;k=k.nextSibling){var l=A(k,h,g,f.children[j++],a,c,d);l.templateInstance_=i}return i.firstNode=h.firstChild,i.lastNode=h.lastChild,h.templateCreator_=void 0,h.protoContent_=void 0,h},get model(){return this.model_},set model(a){this.model_=a,r(this)},get bindingDelegate(){return this.delegate_&&this.delegate_.raw},refChanged_:function(){this.iterator_&&this.refContent_!==this.ref_.content&&(this.refContent_=void 0,this.iterator_.valueChanged(),this.iterator_.updateIteratedValue())},clear:function(){this.model_=void 0,this.delegate_=void 0,this.bindings_=void 0,this.refContent_=void 0,this.iterator_&&(this.iterator_.valueChanged(),this.iterator_.close(),this.iterator_=void 0)},setDelegate_:function(a){this.delegate_=a,this.bindingMap_=void 0,this.iterator_&&(this.iterator_.instancePositionChangedFn_=void 0,this.iterator_.instanceModelFn_=void 0)},newDelegate_:function(a){function b(b){var c=a&&a[b];if("function"==typeof c)return function(){return c.apply(a,arguments)}}return a?{raw:a,prepareBinding:b("prepareBinding"),prepareInstanceModel:b("prepareInstanceModel"),prepareInstancePositionChanged:b("prepareInstancePositionChanged")}:{}},set bindingDelegate(a){if(this.delegate_)throw Error("Template must be cleared before a new bindingDelegate can be assigned");this.setDelegate_(this.newDelegate_(a))},get ref_(){var a=d(this,this.getAttribute("ref"));if(a||(a=this.instanceRef_),!a)return this;var b=a.ref_;return b?b:a}}),Object.defineProperty(Node.prototype,"templateInstance",{get:function(){var a=this.templateInstance_;return a?a:this.parentNode?this.parentNode.templateInstance:void 0}}),C.prototype={closeDeps:function(){var a=this.deps;a&&(a.ifOneTime===!1&&a.ifValue.close(),a.oneTime===!1&&a.value.close())},updateDependencies:function(a,b){this.closeDeps();var c=this.deps={},d=this.templateElement_;if(a.if){if(c.hasIf=!0,c.ifOneTime=a.if.onlyOneTime,c.ifValue=v(H,a.if,d,b),c.ifOneTime&&!c.ifValue)return void this.updateIteratedValue();c.ifOneTime||c.ifValue.open(this.updateIteratedValue,this)}a.repeat?(c.repeat=!0,c.oneTime=a.repeat.onlyOneTime,c.value=v(G,a.repeat,d,b)):(c.repeat=!1,c.oneTime=a.bind.onlyOneTime,c.value=v(F,a.bind,d,b)),c.oneTime||c.value.open(this.updateIteratedValue,this),this.updateIteratedValue()},updateIteratedValue:function(){if(this.deps.hasIf){var a=this.deps.ifValue;if(this.deps.ifOneTime||(a=a.discardChanges()),!a)return void this.valueChanged()}var b=this.deps.value;this.deps.oneTime||(b=b.discardChanges()),this.deps.repeat||(b=[b]);var c=this.deps.repeat&&!this.deps.oneTime&&Array.isArray(b);this.valueChanged(b,c)},valueChanged:function(a,b){Array.isArray(a)||(a=[]),a!==this.iteratedValue&&(this.unobserve(),this.presentValue=a,b&&(this.arrayObserver=new ArrayObserver(this.presentValue),this.arrayObserver.open(this.handleSplices,this)),this.handleSplices(ArrayObserver.calculateSplices(this.presentValue,this.iteratedValue)))},getTerminatorAt:function(a){if(-1==a)return this.templateElement_;var b=this.terminators[2*a];if(b.nodeType!==Node.ELEMENT_NODE||this.templateElement_===b)return b;var c=b.iterator_;return c?c.getTerminatorAt(c.terminators.length/2-1):b},insertInstanceAt:function(a,b,c,d){var e=this.getTerminatorAt(a-1),f=e;b?f=b.lastChild||f:c&&(f=c[c.length-1]||f),this.terminators.splice(2*a,0,f,d);var g=this.templateElement_.parentNode,h=e.nextSibling;if(b)g.insertBefore(b,h);else if(c)for(var i=0;i<c.length;i++)g.insertBefore(c[i],h)},extractInstanceAt:function(a){var b=[],c=this.getTerminatorAt(a-1),d=this.getTerminatorAt(a);b.instanceBindings=this.terminators[2*a+1],this.terminators.splice(2*a,2);for(var e=this.templateElement_.parentNode;d!==c;){var f=c.nextSibling;f==d&&(d=c),e.removeChild(f),b.push(f)}return b},getDelegateFn:function(a){return a=a&&a(this.templateElement_),"function"==typeof a?a:null},handleSplices:function(a){if(!this.closed&&a.length){var b=this.templateElement_;if(!b.parentNode)return void this.close();ArrayObserver.applySplices(this.iteratedValue,this.presentValue,a);var c=b.delegate_;void 0===this.instanceModelFn_&&(this.instanceModelFn_=this.getDelegateFn(c&&c.prepareInstanceModel)),void 0===this.instancePositionChangedFn_&&(this.instancePositionChangedFn_=this.getDelegateFn(c&&c.prepareInstancePositionChanged));var d=new D,e=0;a.forEach(function(a){a.removed.forEach(function(b){var c=this.extractInstanceAt(a.index+e);d.set(b,c)},this),e-=a.addedCount},this),a.forEach(function(a){for(var e=a.index;e<a.index+a.addedCount;e++){var f,g=this.iteratedValue[e],h=void 0,i=d.get(g);i?(d.delete(g),f=i.instanceBindings):(f=[],this.instanceModelFn_&&(g=this.instanceModelFn_(g)),void 0!==g&&(h=b.createInstance(g,void 0,c,f))),this.insertInstanceAt(e,h,i,f)}},this),d.forEach(function(a){this.closeInstanceBindings(a.instanceBindings)},this),this.instancePositionChangedFn_&&this.reportInstancesMoved(a)}},reportInstanceMoved:function(a){var b=this.getTerminatorAt(a-1),c=this.getTerminatorAt(a);if(b!==c){var d=b.nextSibling.templateInstance;this.instancePositionChangedFn_(d,a)}},reportInstancesMoved:function(a){for(var b=0,c=0,d=0;d<a.length;d++){var e=a[d];if(0!=c)for(;b<e.index;)this.reportInstanceMoved(b),b++;else b=e.index;for(;b<e.index+e.addedCount;)this.reportInstanceMoved(b),b++;c+=e.addedCount-e.removed.length}if(0!=c)for(var f=this.terminators.length/2;f>b;)this.reportInstanceMoved(b),b++},closeInstanceBindings:function(a){for(var b=0;b<a.length;b++)a[b].close()},unobserve:function(){this.arrayObserver&&(this.arrayObserver.close(),this.arrayObserver=void 0)},close:function(){if(!this.closed){this.unobserve();for(var a=1;a<this.terminators.length;a+=2)this.closeInstanceBindings(this.terminators[a]);this.terminators.length=0,this.closeDeps(),this.templateElement_.iterator_=void 0,this.closed=!0}}},HTMLTemplateElement.forAllTemplatesFrom_=i}(this),function(a){"use strict";function b(a,b){if(!a)throw new Error("ASSERT: "+b)}function c(a){return a>=48&&57>=a}function d(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&" ᠎              ".indexOf(String.fromCharCode(a))>0}function e(a){return 10===a||13===a||8232===a||8233===a}function f(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a}function g(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a}function h(a){return"this"===a}function i(){for(;Y>X&&d(W.charCodeAt(X));)++X}function j(){var a,b;for(a=X++;Y>X&&(b=W.charCodeAt(X),g(b));)++X;return W.slice(a,X)}function k(){var a,b,c;return a=X,b=j(),c=1===b.length?S.Identifier:h(b)?S.Keyword:"null"===b?S.NullLiteral:"true"===b||"false"===b?S.BooleanLiteral:S.Identifier,{type:c,value:b,range:[a,X]}}function l(){var a,b,c=X,d=W.charCodeAt(X),e=W[X];switch(d){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:return++X,{type:S.Punctuator,value:String.fromCharCode(d),range:[c,X]};default:if(a=W.charCodeAt(X+1),61===a)switch(d){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 124:return X+=2,{type:S.Punctuator,value:String.fromCharCode(d)+String.fromCharCode(a),range:[c,X]};case 33:case 61:return X+=2,61===W.charCodeAt(X)&&++X,{type:S.Punctuator,value:W.slice(c,X),range:[c,X]}}}return b=W[X+1],e===b&&"&|".indexOf(e)>=0?(X+=2,{type:S.Punctuator,value:e+b,range:[c,X]}):"<>=!+-*%&|^/".indexOf(e)>=0?(++X,{type:S.Punctuator,value:e,range:[c,X]}):void s({},V.UnexpectedToken,"ILLEGAL")}function m(){var a,d,e;if(e=W[X],b(c(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),d=X,a="","."!==e){for(a=W[X++],e=W[X],"0"===a&&e&&c(e.charCodeAt(0))&&s({},V.UnexpectedToken,"ILLEGAL");c(W.charCodeAt(X));)a+=W[X++];e=W[X]}if("."===e){for(a+=W[X++];c(W.charCodeAt(X));)a+=W[X++];e=W[X]}if("e"===e||"E"===e)if(a+=W[X++],e=W[X],("+"===e||"-"===e)&&(a+=W[X++]),c(W.charCodeAt(X)))for(;c(W.charCodeAt(X));)a+=W[X++];else s({},V.UnexpectedToken,"ILLEGAL");return f(W.charCodeAt(X))&&s({},V.UnexpectedToken,"ILLEGAL"),{type:S.NumericLiteral,value:parseFloat(a),range:[d,X]}}function n(){var a,c,d,f="",g=!1;for(a=W[X],b("'"===a||'"'===a,"String literal must starts with a quote"),c=X,++X;Y>X;){if(d=W[X++],d===a){a="";break}if("\\"===d)if(d=W[X++],d&&e(d.charCodeAt(0)))"\r"===d&&"\n"===W[X]&&++X;else switch(d){case"n":f+="\n";break;case"r":f+="\r";break;case"t":f+=" ";break;case"b":f+="\b";break;case"f":f+="\f";break;case"v":f+=" ";break;default:f+=d}else{if(e(d.charCodeAt(0)))break;f+=d}}return""!==a&&s({},V.UnexpectedToken,"ILLEGAL"),{type:S.StringLiteral,value:f,octal:g,range:[c,X]}}function o(a){return a.type===S.Identifier||a.type===S.Keyword||a.type===S.BooleanLiteral||a.type===S.NullLiteral}function p(){var a;return i(),X>=Y?{type:S.EOF,range:[X,X]}:(a=W.charCodeAt(X),40===a||41===a||58===a?l():39===a||34===a?n():f(a)?k():46===a?c(W.charCodeAt(X+1))?m():l():c(a)?m():l())}function q(){var a;return a=$,X=a.range[1],$=p(),X=a.range[1],a}function r(){var a;a=X,$=p(),X=a}function s(a,c){var d,e=Array.prototype.slice.call(arguments,2),f=c.replace(/%(\d)/g,function(a,c){return b(c<e.length,"Message reference must be in range"),e[c]});throw d=new Error(f),d.index=X,d.description=f,d}function t(a){s(a,V.UnexpectedToken,a.value)}function u(a){var b=q();(b.type!==S.Punctuator||b.value!==a)&&t(b)}function v(a){return $.type===S.Punctuator&&$.value===a}function w(a){return $.type===S.Keyword&&$.value===a}function x(){var a=[];for(u("[");!v("]");)v(",")?(q(),a.push(null)):(a.push(bb()),v("]")||u(","));return u("]"),Z.createArrayExpression(a)}function y(){var a;return i(),a=q(),a.type===S.StringLiteral||a.type===S.NumericLiteral?Z.createLiteral(a):Z.createIdentifier(a.value)}function z(){var a,b;return a=$,i(),(a.type===S.EOF||a.type===S.Punctuator)&&t(a),b=y(),u(":"),Z.createProperty("init",b,bb())}function A(){var a=[];for(u("{");!v("}");)a.push(z()),v("}")||u(",");return u("}"),Z.createObjectExpression(a)}function B(){var a;return u("("),a=bb(),u(")"),a}function C(){var a,b,c;return v("(")?B():(a=$.type,a===S.Identifier?c=Z.createIdentifier(q().value):a===S.StringLiteral||a===S.NumericLiteral?c=Z.createLiteral(q()):a===S.Keyword?w("this")&&(q(),c=Z.createThisExpression()):a===S.BooleanLiteral?(b=q(),b.value="true"===b.value,c=Z.createLiteral(b)):a===S.NullLiteral?(b=q(),b.value=null,c=Z.createLiteral(b)):v("[")?c=x():v("{")&&(c=A()),c?c:void t(q()))}function D(){var a=[];if(u("("),!v(")"))for(;Y>X&&(a.push(bb()),!v(")"));)u(",");return u(")"),a}function E(){var a;return a=q(),o(a)||t(a),Z.createIdentifier(a.value)}function F(){return u("."),E()}function G(){var a;return u("["),a=bb(),u("]"),a}function H(){var a,b;for(a=C();v(".")||v("[");)v("[")?(b=G(),a=Z.createMemberExpression("[",a,b)):(b=F(),a=Z.createMemberExpression(".",a,b));return a}function I(){var a,b;return $.type!==S.Punctuator&&$.type!==S.Keyword?b=ab():v("+")||v("-")||v("!")?(a=q(),b=I(),b=Z.createUnaryExpression(a.value,b)):w("delete")||w("void")||w("typeof")?s({},V.UnexpectedToken):b=ab(),b}function J(a){var b=0;if(a.type!==S.Punctuator&&a.type!==S.Keyword)return 0;switch(a.value){case"||":b=1;break;case"&&":b=2;break;case"==":case"!=":case"===":case"!==":b=6;break;case"<":case">":case"<=":case">=":case"instanceof":b=7;break;case"in":b=7;break;case"+":case"-":b=9;break;case"*":case"/":case"%":b=11}return b}function K(){var a,b,c,d,e,f,g,h;if(g=I(),b=$,c=J(b),0===c)return g;for(b.prec=c,q(),e=I(),d=[g,b,e];(c=J($))>0;){for(;d.length>2&&c<=d[d.length-2].prec;)e=d.pop(),f=d.pop().value,g=d.pop(),a=Z.createBinaryExpression(f,g,e),d.push(a);b=q(),b.prec=c,d.push(b),a=I(),d.push(a)}for(h=d.length-1,a=d[h];h>1;)a=Z.createBinaryExpression(d[h-1].value,d[h-2],a),h-=2;return a}function L(){var a,b,c;return a=K(),v("?")&&(q(),b=L(),u(":"),c=L(),a=Z.createConditionalExpression(a,b,c)),a}function M(){var a,b;return a=q(),a.type!==S.Identifier&&t(a),b=v("(")?D():[],Z.createFilter(a.value,b)}function N(){for(;v("|");)q(),M()}function O(){i(),r();var a=bb();a&&(","===$.value||"in"==$.value&&a.type===U.Identifier?Q(a):(N(),"as"===$.value?P(a):Z.createTopLevel(a))),$.type!==S.EOF&&t($)}function P(a){q();var b=q().value;Z.createAsExpression(a,b)}function Q(a){var b;","===$.value&&(q(),$.type!==S.Identifier&&t($),b=q().value),q();var c=bb();N(),Z.createInExpression(a.name,b,c)}function R(a,b){return Z=b,W=a,X=0,Y=W.length,$=null,_={labelSet:{}},O()}var S,T,U,V,W,X,Y,Z,$,_;S={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},T={},T[S.BooleanLiteral]="Boolean",T[S.EOF]="<end>",T[S.Identifier]="Identifier",T[S.Keyword]="Keyword",T[S.NullLiteral]="Null",T[S.NumericLiteral]="Numeric",T[S.Punctuator]="Punctuator",T[S.StringLiteral]="String",U={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"},V={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"};var ab=H,bb=L;a.esprima={parse:R}}(this),function(a){"use strict";function b(a,b,d,e){var f;try{if(f=c(a),f.scopeIdent&&(d.nodeType!==Node.ELEMENT_NODE||"TEMPLATE"!==d.tagName||"bind"!==b&&"repeat"!==b))throw Error("as and in can only be used within <template bind/repeat>")}catch(g){return void console.error("Invalid expression syntax: "+a,g)}return function(a,b,c){var d=f.getBinding(a,e,c);return f.scopeIdent&&d&&(b.polymerExpressionScopeIdent_=f.scopeIdent,f.indexIdent&&(b.polymerExpressionIndexIdent_=f.indexIdent)),d}}function c(a){var b=s[a];if(!b){var c=new j;esprima.parse(a,c),b=new l(c),s[a]=b}return b}function d(a){this.value=a,this.valueFn_=void 0}function e(a){this.name=a,this.path=Path.get(a)}function f(a,b,c){"["==c&&b instanceof d&&Path.get(b.value).valid&&(c=".",b=new e(b.value)),this.dynamicDeps="function"==typeof a||a.dynamic,this.dynamic="function"==typeof b||b.dynamic||"["==c,this.simplePath=!this.dynamic&&!this.dynamicDeps&&b instanceof e&&(a instanceof f||a instanceof e),this.object=this.simplePath?a:i(a),this.property="."==c?b:i(b)}function g(a,b){this.name=a,this.args=[];for(var c=0;c<b.length;c++)this.args[c]=i(b[c])}function h(){throw Error("Not Implemented")}function i(a){return"function"==typeof a?a:a.valueFn()}function j(){this.expression=null,this.filters=[],this.deps={},this.currentPath=void 0,this.scopeIdent=void 0,this.indexIdent=void 0,this.dynamicDeps=!1}function k(a){this.value_=a}function l(a){if(this.scopeIdent=a.scopeIdent,this.indexIdent=a.indexIdent,!a.expression)throw Error("No expression found.");this.expression=a.expression,i(this.expression),this.filters=a.filters,this.dynamicDeps=a.dynamicDeps}function m(a){return String(a).replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()})}function n(a){return"o"===a[0]&&"n"===a[1]&&"-"===a[2]}function o(a,b){for(;a[w]&&!Object.prototype.hasOwnProperty.call(a,b);)a=a[w];return a}function p(a,b){if(0==b.length)return void 0;if(1==b.length)return o(a,b[0]);for(var c=0;null!=a&&c<b.length-1;c++)a=a[b[c]];return a}function q(a,b,c){var d=b.substring(3);return d=v[d]||d,function(b,e,f){function g(){return"{{ "+a+" }}"}var h,i,j;return j="function"==typeof c.resolveEventHandler?function(d){h=h||c.resolveEventHandler(b,a,e),h(d,d.detail,d.currentTarget),Platform&&"function"==typeof Platform.flush&&Platform.flush()}:function(c){h=h||a.getValueFrom(b),i=i||p(b,a,e),h.apply(i,[c,c.detail,c.currentTarget]),Platform&&"function"==typeof Platform.flush&&Platform.flush()},e.addEventListener(d,j),f?void 0:{open:g,discardChanges:g,close:function(){e.removeEventListener(d,j)}}}}function r(){}var s=Object.create(null);d.prototype={valueFn:function(){if(!this.valueFn_){var a=this.value;this.valueFn_=function(){return a}}return this.valueFn_}},e.prototype={valueFn:function(){if(!this.valueFn_){var a=(this.name,this.path);this.valueFn_=function(b,c){return c&&c.addPath(b,a),a.getValueFrom(b)}}return this.valueFn_},setValue:function(a,b){return 1==this.path.length,a=o(a,this.path[0]),this.path.setValueFrom(a,b)}},f.prototype={get fullPath(){if(!this.fullPath_){var a=this.object instanceof e?this.object.name:this.object.fullPath;this.fullPath_=Path.get(a+"."+this.property.name)}return this.fullPath_},valueFn:function(){if(!this.valueFn_){var a=this.object;if(this.simplePath){var b=this.fullPath;this.valueFn_=function(a,c){return c&&c.addPath(a,b),b.getValueFrom(a)}}else if(this.property instanceof e){var b=Path.get(this.property.name);this.valueFn_=function(c,d){var e=a(c,d);return d&&d.addPath(e,b),b.getValueFrom(e)}}else{var c=this.property;this.valueFn_=function(b,d){var e=a(b,d),f=c(b,d);return d&&d.addPath(e,f),e?e[f]:void 0}}}return this.valueFn_},setValue:function(a,b){if(this.simplePath)return this.fullPath.setValueFrom(a,b),b;var c=this.object(a),d=this.property instanceof e?this.property.name:this.property(a);return c[d]=b}},g.prototype={transform:function(a,b,c,d,e){var f=c[this.name],g=d;if(f)g=void 0;else if(f=g[this.name],!f)return void console.error("Cannot find filter: "+this.name);if(b?f=f.toModel:"function"==typeof f.toDOM&&(f=f.toDOM),"function"!=typeof f)return void console.error("No "+(b?"toModel":"toDOM")+" found on"+this.name);for(var h=[a],j=0;j<this.args.length;j++)h[j+1]=i(this.args[j])(d,e);return f.apply(g,h)}};var t={"+":function(a){return+a},"-":function(a){return-a},"!":function(a){return!a}},u={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"*":function(a,b){return a*b},"/":function(a,b){return a/b},"%":function(a,b){return a%b},"<":function(a,b){return b>a},">":function(a,b){return a>b},"<=":function(a,b){return b>=a},">=":function(a,b){return a>=b},"==":function(a,b){return a==b},"!=":function(a,b){return a!=b},"===":function(a,b){return a===b},"!==":function(a,b){return a!==b},"&&":function(a,b){return a&&b},"||":function(a,b){return a||b}};j.prototype={createUnaryExpression:function(a,b){if(!t[a])throw Error("Disallowed operator: "+a);return b=i(b),function(c,d){return t[a](b(c,d))}},createBinaryExpression:function(a,b,c){if(!u[a])throw Error("Disallowed operator: "+a);return b=i(b),c=i(c),function(d,e){return u[a](b(d,e),c(d,e))}},createConditionalExpression:function(a,b,c){return a=i(a),b=i(b),c=i(c),function(d,e){return a(d,e)?b(d,e):c(d,e)}},createIdentifier:function(a){var b=new e(a);return b.type="Identifier",b},createMemberExpression:function(a,b,c){var d=new f(b,c,a);return d.dynamicDeps&&(this.dynamicDeps=!0),d},createLiteral:function(a){return new d(a.value)},createArrayExpression:function(a){for(var b=0;b<a.length;b++)a[b]=i(a[b]);return function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d}},createProperty:function(a,b,c){return{key:b instanceof e?b.name:b.value,value:c}},createObjectExpression:function(a){for(var b=0;b<a.length;b++)a[b].value=i(a[b].value);return function(b,c){for(var d={},e=0;e<a.length;e++)d[a[e].key]=a[e].value(b,c);return d}},createFilter:function(a,b){this.filters.push(new g(a,b))},createAsExpression:function(a,b){this.expression=a,this.scopeIdent=b},createInExpression:function(a,b,c){this.expression=c,this.scopeIdent=a,this.indexIdent=b},createTopLevel:function(a){this.expression=a},createThisExpression:h},k.prototype={open:function(){return this.value_},discardChanges:function(){return this.value_},deliver:function(){},close:function(){}},l.prototype={getBinding:function(a,b,c){function d(){g.dynamicDeps&&f.startReset();var c=g.getValue(a,g.dynamicDeps?f:void 0,b);return g.dynamicDeps&&f.finishReset(),c}function e(c){return g.setValue(a,c,b),c}if(c)return this.getValue(a,void 0,b);var f=new CompoundObserver;this.getValue(a,f,b);var g=this;return new ObserverTransform(f,d,e,!0)},getValue:function(a,b,c){for(var d=i(this.expression)(a,b),e=0;e<this.filters.length;e++)d=this.filters[e].transform(d,!1,c,a,b);return d},setValue:function(a,b,c){for(var d=this.filters?this.filters.length:0;d-->0;)b=this.filters[d].transform(b,!0,c,a);return this.expression.setValue?this.expression.setValue(a,b):void 0}};var v={};["webkitAnimationStart","webkitAnimationEnd","webkitTransitionEnd","DOMFocusOut","DOMFocusIn","DOMMouseScroll"].forEach(function(a){v[a.toLowerCase()]=a});var w="@"+Math.random().toString(36).slice(2);r.prototype={styleObject:function(a){var b=[];for(var c in a)b.push(m(c)+": "+a[c]);return b.join("; ")},tokenList:function(a){var b=[];for(var c in a)a[c]&&b.push(c);return b.join(" ")},prepareInstancePositionChanged:function(a){var b=a.polymerExpressionIndexIdent_;if(b)return function(a,c){a.model[b]=c}},prepareBinding:function(a,c,d){var e=Path.get(a);if(n(c))return e.valid?q(e,c,this):void console.error("on-* bindings must be simple path expressions");{if(!e.valid)return b(a,c,d,this);if(1==e.length)return function(a,b,c){if(c)return e.getValueFrom(a);var d=o(a,e[0]);return new PathObserver(d,e)}}},prepareInstanceModel:function(a){var b=a.polymerExpressionScopeIdent_;if(b){var c=a.templateInstance?a.templateInstance.model:a.model,d=a.polymerExpressionIndexIdent_;return function(a){var e=Object.create(c);return e[b]=a,e[d]=void 0,e[w]=c,e}}}},a.PolymerExpressions=r,a.exposeGetExpression&&(a.getExpression_=c),a.PolymerExpressions.prepareEventBinding=q}(this),function(a){function b(){e||(e=!0,a.endOfMicrotask(function(){e=!1,logFlags.data&&console.group("Platform.flush()"),a.performMicrotaskCheckpoint(),logFlags.data&&console.groupEnd()}))}var c=document.createElement("style");c.textContent="template {display: none !important;} /* injected by platform.js */";var d=document.querySelector("head");d.insertBefore(c,d.firstChild);var e,f=125;if(window.addEventListener("WebComponentsReady",function(){b(),Observer.hasObjectObserve||(a.flushPoll=setInterval(b,f))}),window.CustomElements&&!CustomElements.useNative){var g=Document.prototype.importNode;Document.prototype.importNode=function(a,b){var c=g.call(this,a,b);return CustomElements.upgradeAll(c),c}}a.flush=b}(window.Platform);
+// @version: 0.2.2
+function PointerGestureEvent(a,b){var c=b||{},d=document.createEvent("Event"),e={bubbles:Boolean(c.bubbles)===c.bubbles||!0,cancelable:Boolean(c.cancelable)===c.cancelable||!0};d.initEvent(a,e.bubbles,e.cancelable);for(var f,g=Object.keys(c),h=0;h<g.length;h++)f=g[h],d[f]=c[f];return d.preventTap=this.preventTap,d}"undefined"==typeof WeakMap&&!function(){var a=Object.defineProperty,b=Date.now()%1e9,c=function(){this.name="__st"+(1e9*Math.random()>>>0)+(b++ +"__")};c.prototype={set:function(b,c){var d=b[this.name];d&&d[0]===b?d[1]=c:a(b,this.name,{value:[b,c],writable:!0})},get:function(a){var b;return(b=a[this.name])&&b[0]===a?b[1]:void 0},"delete":function(a){this.set(a,void 0)}},window.WeakMap=c}(),function(global){"use strict";function detectObjectObserve(){function a(a){b=a}if("function"!=typeof Object.observe||"function"!=typeof Array.observe)return!1;var b=[],c={},d=[];return Object.observe(c,a),Array.observe(d,a),c.id=1,c.id=2,delete c.id,d.push(1,2),d.length=0,Object.deliverChangeRecords(a),5!==b.length?!1:"add"!=b[0].type||"update"!=b[1].type||"delete"!=b[2].type||"splice"!=b[3].type||"splice"!=b[4].type?!1:(Object.unobserve(c,a),Array.unobserve(d,a),!0)}function detectEval(){if(global.document&&"securityPolicy"in global.document&&!global.document.securityPolicy.allowsEval)return!1;try{var a=new Function("","return true;");return a()}catch(b){return!1}}function isIndex(a){return+a===a>>>0}function toNumber(a){return+a}function isObject(a){return a===Object(a)}function areSameValue(a,b){return a===b?0!==a||1/a===1/b:numberIsNaN(a)&&numberIsNaN(b)?!0:a!==a&&b!==b}function isPathValid(a){return"string"!=typeof a?!1:(a=a.trim(),""==a?!0:"."==a[0]?!1:pathRegExp.test(a))}function Path(a,b){if(b!==constructorIsPrivate)throw Error("Use Path.get to retrieve path objects");return""==a.trim()?this:isIndex(a)?(this.push(a),this):(a.split(/\s*\.\s*/).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void(hasEval&&this.length&&(this.getValueFrom=this.compiledGetValueFromFn())))}function getPath(a){if(a instanceof Path)return a;null==a&&(a=""),"string"!=typeof a&&(a=String(a));var b=pathCache[a];if(b)return b;if(!isPathValid(a))return invalidPath;var b=new Path(a,constructorIsPrivate);return pathCache[a]=b,b}function dirtyCheck(a){for(var b=0;MAX_DIRTY_CHECK_CYCLES>b&&a.check_();)b++;return global.testingExposeCycleCount&&(global.dirtyCheckCycleCount=b),b>0}function objectIsEmpty(a){for(var b in a)return!1;return!0}function diffIsEmpty(a){return objectIsEmpty(a.added)&&objectIsEmpty(a.removed)&&objectIsEmpty(a.changed)}function diffObjectFromOldObject(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function runEOMTasks(){if(!eomTasks.length)return!1;for(var a=0;a<eomTasks.length;a++)eomTasks[a]();return eomTasks.length=0,!0}function newObservedObject(){function a(a){b&&b.state_===OPENED&&!d&&b.check_(a)}var b,c,d=!1,e=!0;return{open:function(c){if(b)throw Error("ObservedObject in use");e||Object.deliverChangeRecords(a),b=c,e=!1},observe:function(b,d){c=b,d?Array.observe(c,a):Object.observe(c,a)},deliver:function(b){d=b,Object.deliverChangeRecords(a),d=!1},close:function(){b=void 0,Object.unobserve(c,a),observedObjectCache.push(this)}}}function getObservedObject(a,b,c){var d=observedObjectCache.pop()||newObservedObject();return d.open(a),d.observe(b,c),d}function newObservedSet(){function a(b){if(b){var c=i.indexOf(b);c>=0?(i[c]=void 0,h.push(b)):h.indexOf(b)<0&&(h.push(b),Object.observe(b,e)),a(Object.getPrototypeOf(b))}}function b(){var b=i===emptyArray?[]:i;i=h,h=b;var c;for(var d in f)c=f[d],c&&c.state_==OPENED&&c.iterateObjects_(a);for(var g=0;g<i.length;g++){var j=i[g];j&&Object.unobserve(j,e)}i.length=0}function c(){k=!1,j&&b()}function d(){k||(j=!0,k=!0,runEOM(c))}function e(){b();var a;for(var c in f)a=f[c],a&&a.state_==OPENED&&a.check_()}var f=[],g=0,h=[],i=emptyArray,j=!1,k=!1,l={object:void 0,objects:h,open:function(b){f[b.id_]=b,g++,b.iterateObjects_(a)},close:function(a){if(f[a.id_]=void 0,g--,g)return void d();j=!1;for(var b=0;b<h.length;b++)Object.unobserve(h[b],e),Observer.unobservedCount++;f.length=0,h.length=0,observedSetCache.push(this)},reset:d};return l}function getObservedSet(a,b){return lastObservedSet&&lastObservedSet.object===b||(lastObservedSet=observedSetCache.pop()||newObservedSet(),lastObservedSet.object=b),lastObservedSet.open(a),lastObservedSet}function Observer(){this.state_=UNOPENED,this.callback_=void 0,this.target_=void 0,this.directObserver_=void 0,this.value_=void 0,this.id_=nextObserverId++}function addToAll(a){Observer._allObserversCount++,collectObservers&&allObservers.push(a)}function removeFromAll(){Observer._allObserversCount--}function ObjectObserver(a){Observer.call(this),this.value_=a,this.oldObject_=void 0}function ArrayObserver(a){if(!Array.isArray(a))throw Error("Provided object is not an Array");ObjectObserver.call(this,a)}function PathObserver(a,b){Observer.call(this),this.object_=a,this.path_=b instanceof Path?b:getPath(b),this.directObserver_=void 0}function CompoundObserver(){Observer.call(this),this.value_=[],this.directObserver_=void 0,this.observed_=[]}function identFn(a){return a}function ObserverTransform(a,b,c,d){this.callback_=void 0,this.target_=void 0,this.value_=void 0,this.observable_=a,this.getValueFn_=b||identFn,this.setValueFn_=c||identFn,this.dontPassThroughSet_=d}function notifyFunction(a,b){if("function"==typeof Object.observe){var c=Object.getNotifier(a);return function(d,e){var f={object:a,type:d,name:b};2===arguments.length&&(f.oldValue=e),c.notify(f)}}}function diffObjectFromChangeRecords(a,b,c){for(var d={},e={},f=0;f<b.length;f++){var g=b[f];expectedRecordTypes[g.type]?(g.name in c||(c[g.name]=g.oldValue),"update"!=g.type&&("add"!=g.type?g.name in d?(delete d[g.name],delete c[g.name]):e[g.name]=!0:g.name in e?delete e[g.name]:d[g.name]=!0)):(console.error("Unknown changeRecord type: "+g.type),console.error(g))}for(var h in d)d[h]=a[h];for(var h in e)e[h]=void 0;var i={};for(var h in c)if(!(h in d||h in e)){var j=a[h];c[h]!==j&&(i[h]=j)}return{added:d,removed:e,changed:i}}function newSplice(a,b,c){return{index:a,removed:b,addedCount:c}}function ArraySplice(){}function calcSplices(a,b,c,d,e,f){return arraySplice.calcSplices(a,b,c,d,e,f)}function intersect(a,b,c,d){return c>b||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function mergeSplice(a,b,c,d){for(var e=newSplice(b,c,d),f=!1,g=0,h=0;h<a.length;h++){var i=a[h];if(i.index+=g,!f){var j=intersect(e.index,e.index+e.removed.length,i.index,i.index+i.addedCount);if(j>=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.index<i.index){var l=e.removed.slice(0,i.index-e.index);Array.prototype.push.apply(l,c),c=l}if(e.index+e.removed.length>i.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.index<e.index&&(e.index=i.index)}else f=!0}else if(e.index<i.index){f=!0,a.splice(h,0,e),h++;var n=e.addedCount-e.removed.length;i.index+=n,g+=n}}}f||a.push(e)}function createInitialSplices(a,b){for(var c=[],d=0;d<b.length;d++){var e=b[d];switch(e.type){case"splice":mergeSplice(c,e.index,e.removed.slice(),e.addedCount);break;case"add":case"update":case"delete":if(!isIndex(e.name))continue;var f=toNumber(e.name);if(0>f)continue;mergeSplice(c,f,[e.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(e))}}return c}function projectArraySplices(a,b){var c=[];return createInitialSplices(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?void(b.removed[0]!==a[b.index]&&c.push(b)):void(c=c.concat(calcSplices(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)))}),c}var hasObserve=detectObjectObserve(),hasEval=detectEval(),numberIsNaN=global.Number.isNaN||function(a){return"number"==typeof a&&global.isNaN(a)},createObject="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},identStart="[$_a-zA-Z]",identPart="[$_a-zA-Z0-9]",ident=identStart+"+"+identPart+"*",elementIndex="(?:[0-9]|[1-9]+[0-9]+)",identOrElementIndex="(?:"+ident+"|"+elementIndex+")",path="(?:"+identOrElementIndex+")(?:\\s*\\.\\s*"+identOrElementIndex+")*",pathRegExp=new RegExp("^"+path+"$"),constructorIsPrivate={},pathCache={};Path.get=getPath,Path.prototype=createObject({__proto__:[],valid:!0,toString:function(){return this.join(".")},getValueFrom:function(a){for(var b=0;b<this.length;b++){if(null==a)return;a=a[this[b]]}return a},iterateObjects:function(a,b){for(var c=0;c<this.length;c++){if(c&&(a=a[this[c-1]]),!isObject(a))return;b(a)}},compiledGetValueFromFn:function(){var a=this.map(function(a){return isIndex(a)?'["'+a+'"]':"."+a}),b="",c="obj";b+="if (obj != null";for(var d=0;d<this.length-1;d++){{this[d]}c+=a[d],b+=" &&\n "+c+" != null"}return b+=")\n",c+=a[d],b+=" return "+c+";\nelse\n return undefined;",new Function("obj",b)},setValueFrom:function(a,b){if(!this.length)return!1;for(var c=0;c<this.length-1;c++){if(!isObject(a))return!1;a=a[this[c]]}return isObject(a)?(a[this[c]]=b,!0):!1}});var invalidPath=new Path("",constructorIsPrivate);invalidPath.valid=!1,invalidPath.getValueFrom=invalidPath.setValueFrom=function(){};var MAX_DIRTY_CHECK_CYCLES=1e3,eomTasks=[],runEOM=hasObserve?function(){var a={pingPong:!0},b=!1;return Object.observe(a,function(){runEOMTasks(),b=!1}),function(c){eomTasks.push(c),b||(b=!0,a.pingPong=!a.pingPong)}}():function(){return function(a){eomTasks.push(a)}}(),observedObjectCache=[],emptyArray=[],observedSetCache=[],lastObservedSet,UNOPENED=0,OPENED=1,CLOSED=2,RESETTING=3,nextObserverId=1;Observer.prototype={open:function(a,b){if(this.state_!=UNOPENED)throw Error("Observer has already been opened.");return addToAll(this),this.callback_=a,this.target_=b,this.state_=OPENED,this.connect_(),this.value_},close:function(){this.state_==OPENED&&(removeFromAll(this),this.state_=CLOSED,this.disconnect_(),this.value_=void 0,this.callback_=void 0,this.target_=void 0)},deliver:function(){this.state_==OPENED&&dirtyCheck(this)},report_:function(a){try{this.callback_.apply(this.target_,a)}catch(b){Observer._errorThrownDuringCallback=!0,console.error("Exception caught during observer callback: "+(b.stack||b))}},discardChanges:function(){return this.check_(void 0,!0),this.value_}};var collectObservers=!hasObserve,allObservers;Observer._allObserversCount=0,collectObservers&&(allObservers=[]);var runningMicrotaskCheckpoint=!1,hasDebugForceFullDelivery=hasObserve&&function(){try{return eval("%RunMicrotasks()"),!0}catch(ex){return!1}}();global.Platform=global.Platform||{},global.Platform.performMicrotaskCheckpoint=function(){if(!runningMicrotaskCheckpoint){if(hasDebugForceFullDelivery)return void eval("%RunMicrotasks()");if(collectObservers){runningMicrotaskCheckpoint=!0;var cycles=0,anyChanged,toCheck;do{cycles++,toCheck=allObservers,allObservers=[],anyChanged=!1;for(var i=0;i<toCheck.length;i++){var observer=toCheck[i];observer.state_==OPENED&&(observer.check_()&&(anyChanged=!0),allObservers.push(observer))}runEOMTasks()&&(anyChanged=!0)}while(MAX_DIRTY_CHECK_CYCLES>cycles&&anyChanged);global.testingExposeCycleCount&&(global.dirtyCheckCycleCount=cycles),runningMicrotaskCheckpoint=!1}}},collectObservers&&(global.Platform.clearObservers=function(){allObservers=[]}),ObjectObserver.prototype=createObject({__proto__:Observer.prototype,arrayObserve:!1,connect_:function(){hasObserve?this.directObserver_=getObservedObject(this,this.value_,this.arrayObserve):this.oldObject_=this.copyObject(this.value_)},copyObject:function(a){var b=Array.isArray(a)?[]:{};for(var c in a)b[c]=a[c];return Array.isArray(a)&&(b.length=a.length),b},check_:function(a){var b,c;if(hasObserve){if(!a)return!1;c={},b=diffObjectFromChangeRecords(this.value_,a,c)}else c=this.oldObject_,b=diffObjectFromOldObject(this.value_,this.oldObject_);return diffIsEmpty(b)?!1:(hasObserve||(this.oldObject_=this.copyObject(this.value_)),this.report_([b.added||{},b.removed||{},b.changed||{},function(a){return c[a]}]),!0)},disconnect_:function(){hasObserve?(this.directObserver_.close(),this.directObserver_=void 0):this.oldObject_=void 0},deliver:function(){this.state_==OPENED&&(hasObserve?this.directObserver_.deliver(!1):dirtyCheck(this))},discardChanges:function(){return this.directObserver_?this.directObserver_.deliver(!0):this.oldObject_=this.copyObject(this.value_),this.value_}}),ArrayObserver.prototype=createObject({__proto__:ObjectObserver.prototype,arrayObserve:!0,copyObject:function(a){return a.slice()},check_:function(a){var b;if(hasObserve){if(!a)return!1;b=projectArraySplices(this.value_,a)}else b=calcSplices(this.value_,0,this.value_.length,this.oldObject_,0,this.oldObject_.length);return b&&b.length?(hasObserve||(this.oldObject_=this.copyObject(this.value_)),this.report_([b]),!0):!1}}),ArrayObserver.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e<c.index+c.addedCount;)d.push(b[e]),e++;Array.prototype.splice.apply(a,d)})},PathObserver.prototype=createObject({__proto__:Observer.prototype,connect_:function(){hasObserve&&(this.directObserver_=getObservedSet(this,this.object_)),this.check_(void 0,!0)},disconnect_:function(){this.value_=void 0,this.directObserver_&&(this.directObserver_.close(this),this.directObserver_=void 0)},iterateObjects_:function(a){this.path_.iterateObjects(this.object_,a)},check_:function(a,b){var c=this.value_;return this.value_=this.path_.getValueFrom(this.object_),b||areSameValue(this.value_,c)?!1:(this.report_([this.value_,c]),!0)},setValue:function(a){this.path_&&this.path_.setValueFrom(this.object_,a)}});var observerSentinel={};CompoundObserver.prototype=createObject({__proto__:Observer.prototype,connect_:function(){if(this.check_(void 0,!0),hasObserve){for(var a,b=!1,c=0;c<this.observed_.length;c+=2)if(a=this.observed_[c],a!==observerSentinel){b=!0;break}return this.directObserver_?b?void this.directObserver_.reset():(this.directObserver_.close(),void(this.directObserver_=void 0)):void(b&&(this.directObserver_=getObservedSet(this,a)))}},closeObservers_:function(){for(var a=0;a<this.observed_.length;a+=2)this.observed_[a]===observerSentinel&&this.observed_[a+1].close();this.observed_.length=0},disconnect_:function(){this.value_=void 0,this.directObserver_&&(this.directObserver_.close(this),this.directObserver_=void 0),this.closeObservers_()},addPath:function(a,b){if(this.state_!=UNOPENED&&this.state_!=RESETTING)throw Error("Cannot add paths once started.");this.observed_.push(a,b instanceof Path?b:getPath(b))},addObserver:function(a){if(this.state_!=UNOPENED&&this.state_!=RESETTING)throw Error("Cannot add observers once started.");a.open(this.deliver,this),this.observed_.push(observerSentinel,a)},startReset:function(){if(this.state_!=OPENED)throw Error("Can only reset while open");this.state_=RESETTING,this.closeObservers_()},finishReset:function(){if(this.state_!=RESETTING)throw Error("Can only finishReset after startReset");return this.state_=OPENED,this.connect_(),this.value_},iterateObjects_:function(a){for(var b,c=0;c<this.observed_.length;c+=2)b=this.observed_[c],b!==observerSentinel&&this.observed_[c+1].iterateObjects(b,a)},check_:function(a,b){for(var c,d=0;d<this.observed_.length;d+=2){var e=this.observed_[d+1],f=this.observed_[d],g=f===observerSentinel?e.discardChanges():e.getValueFrom(f);b?this.value_[d/2]=g:areSameValue(g,this.value_[d/2])||(c=c||[],c[d/2]=this.value_[d/2],this.value_[d/2]=g)}return c?(this.report_([this.value_,c,this.observed_]),!0):!1}}),ObserverTransform.prototype={open:function(a,b){return this.callback_=a,this.target_=b,this.value_=this.getValueFn_(this.observable_.open(this.observedCallback_,this)),this.value_},observedCallback_:function(a){if(a=this.getValueFn_(a),!areSameValue(a,this.value_)){var b=this.value_;this.value_=a,this.callback_.call(this.target_,this.value_,b)}},discardChanges:function(){return this.value_=this.getValueFn_(this.observable_.discardChanges()),this.value_},deliver:function(){return this.observable_.deliver()},setValue:function(a){return a=this.setValueFn_(a),!this.dontPassThroughSet_&&this.observable_.setValue?this.observable_.setValue(a):void 0},close:function(){this.observable_&&this.observable_.close(),this.callback_=void 0,this.target_=void 0,this.observable_=void 0,this.value_=void 0,this.getValueFn_=void 0,this.setValueFn_=void 0}};var expectedRecordTypes={add:!0,update:!0,"delete":!0};Observer.defineComputedProperty=function(a,b,c){var d=notifyFunction(a,b),e=c.open(function(a,b){e=a,d&&d("update",b)});return Object.defineProperty(a,b,{get:function(){return c.deliver(),e},set:function(a){return c.setValue(a),a},configurable:!0}),{close:function(){c.close(),Object.defineProperty(a,b,{value:e,writable:!0,configurable:!0})}}};var EDIT_LEAVE=0,EDIT_UPDATE=1,EDIT_ADD=2,EDIT_DELETE=3;ArraySplice.prototype={calcEditDistances:function(a,b,c,d,e,f){for(var g=f-e+1,h=c-b+1,i=new Array(g),j=0;g>j;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(this.equals(a[b+k-1],d[e+j-1]))i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i},spliceOperationsFromEditDistances:function(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(EDIT_LEAVE):(e.push(EDIT_UPDATE),d=g),b--,c--):f==h?(e.push(EDIT_DELETE),b--,d=h):(e.push(EDIT_ADD),c--,d=i)}else e.push(EDIT_DELETE),b--;else e.push(EDIT_ADD),c--;return e.reverse(),e},calcSplices:function(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=this.sharedPrefix(a,d,i)),c==a.length&&f==d.length&&(h=this.sharedSuffix(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,c-b==0&&f-e==0)return[];if(b==c){for(var j=newSplice(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[newSplice(b,[],c-b)];for(var k=this.spliceOperationsFromEditDistances(this.calcEditDistances(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;o<k.length;o++)switch(k[o]){case EDIT_LEAVE:j&&(l.push(j),j=void 0),m++,n++;break;case EDIT_UPDATE:j||(j=newSplice(m,[],0)),j.addedCount++,m++,j.removed.push(d[n]),n++;break;case EDIT_ADD:j||(j=newSplice(m,[],0)),j.addedCount++,m++;break;case EDIT_DELETE:j||(j=newSplice(m,[],0)),j.removed.push(d[n]),n++}return j&&l.push(j),l},sharedPrefix:function(a,b,c){for(var d=0;c>d;d++)if(!this.equals(a[d],b[d]))return d;return c},sharedSuffix:function(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&this.equals(a[--d],b[--e]);)f++;return f},calculateSplices:function(a,b){return this.calcSplices(a,0,a.length,b,0,b.length)},equals:function(a,b){return a===b}};var arraySplice=new ArraySplice;global.Observer=Observer,global.Observer.runEOM_=runEOM,global.Observer.hasObjectObserve=hasObserve,global.ArrayObserver=ArrayObserver,global.ArrayObserver.calculateSplices=function(a,b){return arraySplice.calculateSplices(a,b)},global.ArraySplice=ArraySplice,global.ObjectObserver=ObjectObserver,global.PathObserver=PathObserver,global.CompoundObserver=CompoundObserver,global.Path=Path,global.ObserverTransform=ObserverTransform}("undefined"!=typeof global&&global&&"undefined"!=typeof module&&module?global:this||window),window.Platform=window.Platform||{},window.logFlags=window.logFlags||{},function(a){var b=a.flags||{};location.search.slice(1).split("&").forEach(function(a){a=a.split("="),a[0]&&(b[a[0]]=a[1]||!0)});var c=document.currentScript||document.querySelector('script[src*="platform.js"]');if(c)for(var d,e=c.attributes,f=0;f<e.length;f++)d=e[f],"src"!==d.name&&(b[d.name]=d.value||!0);b.log&&b.log.split(",").forEach(function(a){window.logFlags[a]=!0}),b.shadow=b.shadow||b.shadowdom||b.polyfill,b.shadow="native"===b.shadow?!1:b.shadow||!HTMLElement.prototype.createShadowRoot,b.shadow&&document.querySelectorAll("script").length>1&&console.warn("platform.js is not the first script on the page. See http://www.polymer-project.org/docs/start/platform.html#setup for details."),b.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=b.register),b.imports&&(window.HTMLImports=window.HTMLImports||{flags:{}},window.HTMLImports.flags.imports=b.imports),a.flags=b}(Platform),Platform.flags.shadow?(window.ShadowDOMPolyfill={},function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a,b){return L(b).forEach(function(c){K(a,c,M(b,c))}),a}function d(a,b){return L(b).forEach(function(c){switch(c){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":return}K(a,c,M(b,c))}),a}function e(a,b){for(var c=0;c<b.length;c++)if(b[c]in a)return b[c]}function f(a){var b=a.__proto__||Object.getPrototypeOf(a),c=E.get(b);if(c)return c;var d=f(b),e=t(d);return q(b,e,a),e}function g(a,b){o(a,b,!0)}function h(a,b){o(b,a,!1)}function i(a){return/^on[a-z]+$/.test(a)}function j(a){return/^\w[a-zA-Z_0-9]*$/.test(a)}function k(a){return H&&j(a)?new Function("return this.impl."+a):function(){return this.impl[a]}}function l(a){return H&&j(a)?new Function("v","this.impl."+a+" = v"):function(b){this.impl[a]=b}}function m(a){return H&&j(a)?new Function("return this.impl."+a+".apply(this.impl, arguments)"):function(){return this.impl[a].apply(this.impl,arguments)}}function n(a,b){try{return Object.getOwnPropertyDescriptor(a,b)}catch(c){return O}}function o(b,c,d){for(var e=L(b),f=0;f<e.length;f++){var g=e[f];if("polymerBlackList_"!==g&&!(g in c||b.polymerBlackList_&&b.polymerBlackList_[g])){N&&b.__lookupGetter__(g);var h,j,o=n(b,g);if(d&&"function"==typeof o.value)c[g]=m(g);else{var p=i(g);h=p?a.getEventHandlerGetter(g):k(g),(o.writable||o.set)&&(j=p?a.getEventHandlerSetter(g):l(g)),K(c,g,{get:h,set:j,configurable:o.configurable,enumerable:o.enumerable})}}}}function p(a,b,c){var e=a.prototype;q(e,b,c),d(b,a)}function q(a,c,d){var e=c.prototype;b(void 0===E.get(a)),E.set(a,c),F.set(e,a),g(a,e),d&&h(e,d),K(e,"constructor",{value:c,configurable:!0,enumerable:!1,writable:!0}),c.prototype=e}function r(a,b){return E.get(b.prototype)===a}function s(a){var b=Object.getPrototypeOf(a),c=f(b),d=t(c);return q(b,d,a),d}function t(a){function b(b){a.call(this,b)}var c=Object.create(a.prototype);return c.constructor=b,b.prototype=c,b}function u(a){return a instanceof G.EventTarget||a instanceof G.Event||a instanceof G.Range||a instanceof G.DOMImplementation||a instanceof G.CanvasRenderingContext2D||G.WebGLRenderingContext&&a instanceof G.WebGLRenderingContext}function v(a){return Q&&a instanceof Q||a instanceof S||a instanceof R||a instanceof T||a instanceof U||a instanceof P||a instanceof V||W&&a instanceof W||X&&a instanceof X}function w(a){return null===a?null:(b(v(a)),a.polymerWrapper_||(a.polymerWrapper_=new(f(a))(a)))}function x(a){return null===a?null:(b(u(a)),a.impl)}function y(a){return a&&u(a)?x(a):a}function z(a){return a&&!u(a)?w(a):a}function A(a,c){null!==c&&(b(v(a)),b(void 0===c||u(c)),a.polymerWrapper_=c)}function B(a,b,c){K(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function C(a,b){B(a,b,function(){return w(this.impl[b])})}function D(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=z(this);return a[b].apply(a,arguments)}})})}var E=new WeakMap,F=new WeakMap,G=Object.create(null),H=!("securityPolicy"in document)||document.securityPolicy.allowsEval;if(H)try{var I=new Function("","return true;");H=I()}catch(J){H=!1}var K=Object.defineProperty,L=Object.getOwnPropertyNames,M=Object.getOwnPropertyDescriptor;L(window);var N=/Firefox/.test(navigator.userAgent),O={get:function(){},set:function(){},configurable:!0,enumerable:!0},P=window.DOMImplementation,Q=window.EventTarget,R=window.Event,S=window.Node,T=window.Window,U=window.Range,V=window.CanvasRenderingContext2D,W=window.WebGLRenderingContext,X=window.SVGElementInstance;a.assert=b,a.constructorTable=E,a.defineGetter=B,a.defineWrapGetter=C,a.forwardMethodsToWrapper=D,a.isWrapper=u,a.isWrapperFor=r,a.mixin=c,a.nativePrototypeTable=F,a.oneOf=e,a.registerObject=s,a.registerWrapper=p,a.rewrap=A,a.unwrap=x,a.unwrapIfNeeded=y,a.wrap=w,a.wrapIfNeeded=z,a.wrappers=G}(window.ShadowDOMPolyfill),function(a){"use strict";function b(){g=!1;var a=f.slice(0);f=[];for(var b=0;b<a.length;b++)a[b]()}function c(a){f.push(a),g||(g=!0,d(b,0))}var d,e=window.MutationObserver,f=[],g=!1;if(e){var h=1,i=new e(b),j=document.createTextNode(h);i.observe(j,{characterData:!0}),d=function(){h=(h+1)%2,j.data=h}}else d=window.setTimeout;a.setEndOfMicrotask=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(){p||(k(c),p=!0)}function c(){p=!1;do for(var a=o.slice(),b=!1,c=0;c<a.length;c++){var d=a[c],e=d.takeRecords();f(d),e.length&&(d.callback_(e,d),b=!0)}while(b)}function d(a,b){this.type=a,this.target=b,this.addedNodes=new m.NodeList,this.removedNodes=new m.NodeList,this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function e(a,b){for(;a;a=a.parentNode){var c=n.get(a);if(c)for(var d=0;d<c.length;d++){var e=c[d];e.options.subtree&&e.addTransientObserver(b)}}}function f(a){for(var b=0;b<a.nodes_.length;b++){var c=a.nodes_[b],d=n.get(c);if(!d)return;for(var e=0;e<d.length;e++){var f=d[e];f.observer===a&&f.removeTransientObservers()}}}function g(a,c,e){for(var f=Object.create(null),g=Object.create(null),h=a;h;h=h.parentNode){var i=n.get(h);if(i)for(var j=0;j<i.length;j++){var k=i[j],l=k.options;if((h===a||l.subtree)&&!("attributes"===c&&!l.attributes||"attributes"===c&&l.attributeFilter&&(null!==e.namespace||-1===l.attributeFilter.indexOf(e.name))||"characterData"===c&&!l.characterData||"childList"===c&&!l.childList)){var m=k.observer;f[m.uid_]=m,("attributes"===c&&l.attributeOldValue||"characterData"===c&&l.characterDataOldValue)&&(g[m.uid_]=e.oldValue)}}}var o=!1;for(var p in f){var m=f[p],q=new d(c,a);"name"in e&&"namespace"in e&&(q.attributeName=e.name,q.attributeNamespace=e.namespace),e.addedNodes&&(q.addedNodes=e.addedNodes),e.removedNodes&&(q.removedNodes=e.removedNodes),e.previousSibling&&(q.previousSibling=e.previousSibling),e.nextSibling&&(q.nextSibling=e.nextSibling),void 0!==g[p]&&(q.oldValue=g[p]),m.records_.push(q),o=!0}o&&b()}function h(a){if(this.childList=!!a.childList,this.subtree=!!a.subtree,this.attributes="attributes"in a||!("attributeOldValue"in a||"attributeFilter"in a)?!!a.attributes:!0,this.characterData="characterDataOldValue"in a&&!("characterData"in a)?!0:!!a.characterData,!this.attributes&&(a.attributeOldValue||"attributeFilter"in a)||!this.characterData&&a.characterDataOldValue)throw new TypeError;if(this.characterData=!!a.characterData,this.attributeOldValue=!!a.attributeOldValue,this.characterDataOldValue=!!a.characterDataOldValue,"attributeFilter"in a){if(null==a.attributeFilter||"object"!=typeof a.attributeFilter)throw new TypeError;this.attributeFilter=q.call(a.attributeFilter)}else this.attributeFilter=null}function i(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++r,o.push(this)}function j(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}var k=a.setEndOfMicrotask,l=a.wrapIfNeeded,m=a.wrappers,n=new WeakMap,o=[],p=!1,q=Array.prototype.slice,r=0;i.prototype={observe:function(a,b){a=l(a);var c,d=new h(b),e=n.get(a);e||n.set(a,e=[]);for(var f=0;f<e.length;f++)e[f].observer===this&&(c=e[f],c.removeTransientObservers(),c.options=d);c||(c=new j(this,a,d),e.push(c),this.nodes_.push(a))},disconnect:function(){this.nodes_.forEach(function(a){for(var b=n.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}},j.prototype={addTransientObserver:function(a){if(a!==this.target){this.transientObservedNodes.push(a);var b=n.get(a);b||n.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[];for(var b=0;b<a.length;b++)for(var c=a[b],d=n.get(c),e=0;e<d.length;e++)if(d[e]===this){d.splice(e,1);break}}},a.enqueueMutation=g,a.registerTransientObservers=e,a.wrappers.MutationObserver=i,a.wrappers.MutationRecord=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){this.root=a,this.parent=b}function c(a,b){if(a.treeScope_!==b){a.treeScope_=b;for(var d=a.shadowRoot;d;d=d.olderShadowRoot)d.treeScope_.parent=b;for(var e=a.firstChild;e;e=e.nextSibling)c(e,b)}}function d(a){if(a.treeScope_)return a.treeScope_;var c,e=a.parentNode;return c=e?d(e):new b(a,null),a.treeScope_=c}b.prototype={get renderer(){return this.root instanceof a.wrappers.ShadowRoot?a.getRendererForHost(this.root.host):null},contains:function(a){for(;a;a=a.parent)if(a===this)return!0;return!1}},a.TreeScope=b,a.getTreeScope=d,a.setTreeScope=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof Q.ShadowRoot}function c(a){var b=a.localName;return"content"===b||"shadow"===b}function d(a){return!!a.shadowRoot}function e(a){var b;return a.parentNode||(b=a.defaultView)&&P(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return j(f)||f.host;var i=a.eventParentsTable.get(f);if(i){for(var k=1;k<i.length;k++)h[k-1]=i[k];return i[0]}if(g&&c(f)){var l=f.parentNode;if(l&&d(l))for(var m=a.getShadowTrees(l),n=j(g),k=0;k<m.length;k++)if(m[k].contains(n))return n}return e(f)}function g(a){for(var d=[],e=a,g=[],i=[];e;){var j=null;if(c(e)){j=h(d);var k=d[d.length-1]||e;d.push(k)}else d.length||d.push(e);var l=d[d.length-1];g.push({target:l,currentTarget:e}),b(e)&&d.pop(),e=f(e,j,i)}return g}function h(a){for(var b=a.length-1;b>=0;b--)if(!c(a[b]))return a[b];return null}function i(a,d){for(var e=[];a;){for(var g=[],i=d,j=void 0;i;){var m=null;if(g.length){if(c(i)&&(m=h(g),k(j))){var n=g[g.length-1];g.push(n)}}else g.push(i);if(l(i,a))return g[g.length-1];b(i)&&g.pop(),j=i,i=f(i,m,e)}a=b(a)?a.host:a.parentNode}}function j(b){return a.insertionParentTable.get(b)}function k(a){return j(a)}function l(a,b){return L(a)===L(b)}function m(a){S.get(a)||(S.set(a,!0),o(P(a),P(a.target)))}function n(a){switch(a.type){case"beforeunload":case"load":case"unload":return!0}return!1}function o(b,c){if(T.get(b))throw new Error("InvalidStateError");T.set(b,!0),a.renderAllPending();var d=g(c);return 2===d.length&&d[0].target instanceof Q.Document&&n(b)&&d.shift(),_.set(b,d),p(b,d)&&q(b,d)&&r(b,d),X.set(b,u.NONE),V.delete(b,null),T.delete(b),b.defaultPrevented}function p(a,b){for(var c,d=b.length-1;d>0;d--){var e=b[d].target,f=b[d].currentTarget;if(e!==f&&(c=u.CAPTURING_PHASE,!s(b[d],a,c)))return!1}return!0}function q(a,b){var c=u.AT_TARGET;return s(b[0],a,c)}function r(a,b){for(var c,d=a.bubbles,e=1;e<b.length;e++){var f=b[e].target,g=b[e].currentTarget;if(f===g)c=u.AT_TARGET;else{if(!d||Z.get(a))continue;c=u.BUBBLING_PHASE}if(!s(b[e],a,c))return}}function s(a,b,c){var d=a.target,e=a.currentTarget,f=R.get(e);if(!f)return!0;if("relatedTarget"in b){var g=O(b),h=g.relatedTarget;if(h){if(h instanceof Object&&h.addEventListener){var j=P(h),k=i(e,j);if(k===d)return!0}else k=null;W.set(b,k)}}X.set(b,c);var l=b.type,m=!1;U.set(b,d),V.set(b,e);for(var n=0;n<f.length;n++){var o=f[n];if(o.removed)m=!0;else if(!(o.type!==l||!o.capture&&c===u.CAPTURING_PHASE||o.capture&&c===u.BUBBLING_PHASE))try{if("function"==typeof o.handler?o.handler.call(e,b):o.handler.handleEvent(b),Z.get(b))return!1}catch(p){window.onerror?window.onerror(p.message):console.error(p,p.stack)}}if(m){var q=f.slice();f.length=0;for(var n=0;n<q.length;n++)q[n].removed||f.push(q[n])}return!Y.get(b)}function t(a,b,c){this.type=a,this.handler=b,this.capture=Boolean(c)}function u(a,b){if(!(a instanceof ab))return P(y(ab,"Event",a,b));
+var c=a;return lb||"beforeunload"!==c.type?void(this.impl=c):new z(c)}function v(a){return a&&a.relatedTarget?Object.create(a,{relatedTarget:{value:O(a.relatedTarget)}}):a}function w(a,b,c){var d=window[a],e=function(b,c){return b instanceof d?void(this.impl=b):P(y(d,a,b,c))};if(e.prototype=Object.create(b.prototype),c&&M(e.prototype,c),d)try{N(d,e,new d("temp"))}catch(f){N(d,e,document.createEvent(a))}return e}function x(a,b){return function(){arguments[b]=O(arguments[b]);var c=O(this);c[a].apply(c,arguments)}}function y(a,b,c,d){if(jb)return new a(c,v(d));var e=O(document.createEvent(b)),f=ib[b],g=[c];return Object.keys(f).forEach(function(a){var b=null!=d&&a in d?d[a]:f[a];"relatedTarget"===a&&(b=O(b)),g.push(b)}),e["init"+b].apply(e,g),e}function z(a){u.call(this,a)}function A(a){return"function"==typeof a?!0:a&&a.handleEvent}function B(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function C(a){this.impl=a}function D(a){return a instanceof Q.ShadowRoot&&(a=a.host),O(a)}function E(a,b){var c=R.get(a);if(c)for(var d=0;d<c.length;d++)if(!c[d].removed&&c[d].type===b)return!0;return!1}function F(a,b){for(var c=O(a);c;c=c.parentNode)if(E(P(c),b))return!0;return!1}function G(a){K(a,nb)}function H(b,c,d,e){a.renderAllPending();for(var f=P(ob.call(c.impl,d,e)),h=g(f,this),i=0;i<h.length;i++){var j=h[i];if(j.currentTarget===b)return j.target}return null}function I(a){return function(){var b=$.get(this);return b&&b[a]&&b[a].value||null}}function J(a){var b=a.slice(2);return function(c){var d=$.get(this);d||(d=Object.create(null),$.set(this,d));var e=d[a];if(e&&this.removeEventListener(b,e.wrapped,!1),"function"==typeof c){var f=function(b){var d=c.call(this,b);d===!1?b.preventDefault():"onbeforeunload"===a&&"string"==typeof d&&(b.returnValue=d)};this.addEventListener(b,f,!1),d[a]={value:c,wrapped:f}}}}var K=a.forwardMethodsToWrapper,L=a.getTreeScope,M=a.mixin,N=a.registerWrapper,O=a.unwrap,P=a.wrap,Q=a.wrappers,R=(new WeakMap,new WeakMap),S=new WeakMap,T=new WeakMap,U=new WeakMap,V=new WeakMap,W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap;t.prototype={equals:function(a){return this.handler===a.handler&&this.type===a.type&&this.capture===a.capture},get removed(){return null===this.handler},remove:function(){this.handler=null}};var ab=window.Event;ab.prototype.polymerBlackList_={returnValue:!0,keyLocation:!0},u.prototype={get target(){return U.get(this)},get currentTarget(){return V.get(this)},get eventPhase(){return X.get(this)},get path(){var a=new Q.NodeList,b=_.get(this);if(b){for(var c=0,d=b.length-1,e=L(V.get(this)),f=0;d>=f;f++){var g=b[f].currentTarget,h=L(g);h.contains(e)&&(f!==d||g instanceof Q.Node)&&(a[c++]=g)}a.length=c}return a},stopPropagation:function(){Y.set(this,!0)},stopImmediatePropagation:function(){Y.set(this,!0),Z.set(this,!0)}},N(ab,u,document.createEvent("Event"));var bb=w("UIEvent",u),cb=w("CustomEvent",u),db={get relatedTarget(){return W.get(this)||P(O(this).relatedTarget)}},eb=M({initMouseEvent:x("initMouseEvent",14)},db),fb=M({initFocusEvent:x("initFocusEvent",5)},db),gb=w("MouseEvent",bb,eb),hb=w("FocusEvent",bb,fb),ib=Object.create(null),jb=function(){try{new window.FocusEvent("focus")}catch(a){return!1}return!0}();if(!jb){var kb=function(a,b,c){if(c){var d=ib[c];b=M(M({},d),b)}ib[a]=b};kb("Event",{bubbles:!1,cancelable:!1}),kb("CustomEvent",{detail:null},"Event"),kb("UIEvent",{view:null,detail:0},"Event"),kb("MouseEvent",{screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null},"UIEvent"),kb("FocusEvent",{relatedTarget:null},"UIEvent")}var lb=window.BeforeUnloadEvent;z.prototype=Object.create(u.prototype),M(z.prototype,{get returnValue(){return this.impl.returnValue},set returnValue(a){this.impl.returnValue=a}}),lb&&N(lb,z);var mb=window.EventTarget,nb=["addEventListener","removeEventListener","dispatchEvent"];[Node,Window].forEach(function(a){var b=a.prototype;nb.forEach(function(a){Object.defineProperty(b,a+"_",{value:b[a]})})}),C.prototype={addEventListener:function(a,b,c){if(A(b)&&!B(a)){var d=new t(a,b,c),e=R.get(this);if(e){for(var f=0;f<e.length;f++)if(d.equals(e[f]))return}else e=[],R.set(this,e);e.push(d);var g=D(this);g.addEventListener_(a,m,!0)}},removeEventListener:function(a,b,c){c=Boolean(c);var d=R.get(this);if(d){for(var e=0,f=!1,g=0;g<d.length;g++)d[g].type===a&&d[g].capture===c&&(e++,d[g].handler===b&&(f=!0,d[g].remove()));if(f&&1===e){var h=D(this);h.removeEventListener_(a,m,!0)}}},dispatchEvent:function(b){var c=O(b),d=c.type;S.set(c,!1),a.renderAllPending();var e;F(this,d)||(e=function(){},this.addEventListener(d,e,!0));try{return O(this).dispatchEvent_(c)}finally{e&&this.removeEventListener(d,e,!0)}}},mb&&N(mb,C);var ob=document.elementFromPoint;a.adjustRelatedTarget=i,a.elementFromPoint=H,a.getEventHandlerGetter=I,a.getEventHandlerSetter=J,a.wrapEventTargetMethods=G,a.wrappers.BeforeUnloadEvent=z,a.wrappers.CustomEvent=cb,a.wrappers.Event=u,a.wrappers.EventTarget=C,a.wrappers.FocusEvent=hb,a.wrappers.MouseEvent=gb,a.wrappers.UIEvent=bb}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,b){Object.defineProperty(a,b,{enumerable:!1})}function c(){this.length=0,b(this,"length")}function d(a){if(null==a)return a;for(var b=new c,d=0,e=a.length;e>d;d++)b[d]=f(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(this.impl[b].apply(this.impl,arguments))}}var f=a.wrap;c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(window.ShadowDOMPolyfill),function(a){"use strict";a.wrapHTMLCollection=a.wrapNodeList,a.wrappers.HTMLCollection=a.wrappers.NodeList}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){A(a instanceof w)}function c(a){var b=new y;return b[0]=a,b.length=1,b}function d(a,b,c){C(b,"childList",{removedNodes:c,previousSibling:a.previousSibling,nextSibling:a.nextSibling})}function e(a,b){C(a,"childList",{removedNodes:b})}function f(a,b,d,e){if(a instanceof DocumentFragment){var f=h(a);N=!0;for(var g=f.length-1;g>=0;g--)a.removeChild(f[g]),f[g].parentNode_=b;N=!1;for(var g=0;g<f.length;g++)f[g].previousSibling_=f[g-1]||d,f[g].nextSibling_=f[g+1]||e;return d&&(d.nextSibling_=f[0]),e&&(e.previousSibling_=f[f.length-1]),f}var f=c(a),i=a.parentNode;return i&&i.removeChild(a),a.parentNode_=b,a.previousSibling_=d,a.nextSibling_=e,d&&(d.nextSibling_=a),e&&(e.previousSibling_=a),f}function g(a){if(a instanceof DocumentFragment)return h(a);var b=c(a),e=a.parentNode;return e&&d(a,e,b),b}function h(a){for(var b=new y,c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b.length=c,e(a,b),b}function i(a){return a}function j(a,b){I(a,b),a.nodeIsInserted_()}function k(a,b){for(var c=D(b),d=0;d<a.length;d++)j(a[d],c)}function l(a){I(a,new z(a,null))}function m(a){for(var b=0;b<a.length;b++)l(a[b])}function n(a,b){var c=a.nodeType===w.DOCUMENT_NODE?a:a.ownerDocument;c!==b.ownerDocument&&c.adoptNode(b)}function o(b,c){if(c.length){var d=b.ownerDocument;if(d!==c[0].ownerDocument)for(var e=0;e<c.length;e++)a.adoptNodeNoRemove(c[e],d)}}function p(a,b){o(a,b);var c=b.length;if(1===c)return J(b[0]);for(var d=J(a.ownerDocument.createDocumentFragment()),e=0;c>e;e++)d.appendChild(J(b[e]));return d}function q(a){if(void 0!==a.firstChild_)for(var b=a.firstChild_;b;){var c=b;b=b.nextSibling_,c.parentNode_=c.previousSibling_=c.nextSibling_=void 0}a.firstChild_=a.lastChild_=void 0}function r(a){if(a.invalidateShadowRenderer()){for(var b=a.firstChild;b;){A(b.parentNode===a);var c=b.nextSibling,d=J(b),e=d.parentNode;e&&U.call(e,d),b.previousSibling_=b.nextSibling_=b.parentNode_=null,b=c}a.firstChild_=a.lastChild_=null}else for(var c,f=J(a),g=f.firstChild;g;)c=g.nextSibling,U.call(f,g),g=c}function s(a){var b=a.parentNode;return b&&b.invalidateShadowRenderer()}function t(a){for(var b,c=0;c<a.length;c++)b=a[c],b.parentNode.removeChild(b)}function u(a,b,c){var d;if(d=K(c?O.call(c,a.impl,!1):P.call(a.impl,!1)),b){for(var e=a.firstChild;e;e=e.nextSibling)d.appendChild(u(e,!0,c));if(a instanceof M.HTMLTemplateElement)for(var f=d.content,e=a.content.firstChild;e;e=e.nextSibling)f.appendChild(u(e,!0,c))}return d}function v(a,b){if(!b||D(a)!==D(b))return!1;for(var c=b;c;c=c.parentNode)if(c===a)return!0;return!1}function w(a){A(a instanceof Q),x.call(this,a),this.parentNode_=void 0,this.firstChild_=void 0,this.lastChild_=void 0,this.nextSibling_=void 0,this.previousSibling_=void 0,this.treeScope_=void 0}var x=a.wrappers.EventTarget,y=a.wrappers.NodeList,z=a.TreeScope,A=a.assert,B=a.defineWrapGetter,C=a.enqueueMutation,D=a.getTreeScope,E=a.isWrapper,F=a.mixin,G=a.registerTransientObservers,H=a.registerWrapper,I=a.setTreeScope,J=a.unwrap,K=a.wrap,L=a.wrapIfNeeded,M=a.wrappers,N=!1,O=document.importNode,P=window.Node.prototype.cloneNode,Q=window.Node,R=window.DocumentFragment,S=(Q.prototype.appendChild,Q.prototype.compareDocumentPosition),T=Q.prototype.insertBefore,U=Q.prototype.removeChild,V=Q.prototype.replaceChild,W=/Trident/.test(navigator.userAgent),X=W?function(a,b){try{U.call(a,b)}catch(c){if(!(a instanceof R))throw c}}:function(a,b){U.call(a,b)};w.prototype=Object.create(x.prototype),F(w.prototype,{appendChild:function(a){return this.insertBefore(a,null)},insertBefore:function(a,c){b(a);var d;c?E(c)?d=J(c):(d=c,c=K(d)):(c=null,d=null),c&&A(c.parentNode===this);var e,h=c?c.previousSibling:this.lastChild,i=!this.invalidateShadowRenderer()&&!s(a);if(e=i?g(a):f(a,this,h,c),i)n(this,a),q(this),T.call(this.impl,J(a),d);else{h||(this.firstChild_=e[0]),c||(this.lastChild_=e[e.length-1]);var j=d?d.parentNode:this.impl;j?T.call(j,p(this,e),d):o(this,e)}return C(this,"childList",{addedNodes:e,nextSibling:c,previousSibling:h}),k(e,this),a},removeChild:function(a){if(b(a),a.parentNode!==this){for(var d=!1,e=(this.childNodes,this.firstChild);e;e=e.nextSibling)if(e===a){d=!0;break}if(!d)throw new Error("NotFoundError")}var f=J(a),g=a.nextSibling,h=a.previousSibling;if(this.invalidateShadowRenderer()){var i=this.firstChild,j=this.lastChild,k=f.parentNode;k&&X(k,f),i===a&&(this.firstChild_=g),j===a&&(this.lastChild_=h),h&&(h.nextSibling_=g),g&&(g.previousSibling_=h),a.previousSibling_=a.nextSibling_=a.parentNode_=void 0}else q(this),X(this.impl,f);return N||C(this,"childList",{removedNodes:c(a),nextSibling:g,previousSibling:h}),G(this,a),a},replaceChild:function(a,d){b(a);var e;if(E(d)?e=J(d):(e=d,d=K(e)),d.parentNode!==this)throw new Error("NotFoundError");var h,i=d.nextSibling,j=d.previousSibling,m=!this.invalidateShadowRenderer()&&!s(a);return m?h=g(a):(i===a&&(i=a.nextSibling),h=f(a,this,j,i)),m?(n(this,a),q(this),V.call(this.impl,J(a),e)):(this.firstChild===d&&(this.firstChild_=h[0]),this.lastChild===d&&(this.lastChild_=h[h.length-1]),d.previousSibling_=d.nextSibling_=d.parentNode_=void 0,e.parentNode&&V.call(e.parentNode,p(this,h),e)),C(this,"childList",{addedNodes:h,removedNodes:c(d),nextSibling:i,previousSibling:j}),l(d),k(h,this),d},nodeIsInserted_:function(){for(var a=this.firstChild;a;a=a.nextSibling)a.nodeIsInserted_()},hasChildNodes:function(){return null!==this.firstChild},get parentNode(){return void 0!==this.parentNode_?this.parentNode_:K(this.impl.parentNode)},get firstChild(){return void 0!==this.firstChild_?this.firstChild_:K(this.impl.firstChild)},get lastChild(){return void 0!==this.lastChild_?this.lastChild_:K(this.impl.lastChild)},get nextSibling(){return void 0!==this.nextSibling_?this.nextSibling_:K(this.impl.nextSibling)},get previousSibling(){return void 0!==this.previousSibling_?this.previousSibling_:K(this.impl.previousSibling)},get parentElement(){for(var a=this.parentNode;a&&a.nodeType!==w.ELEMENT_NODE;)a=a.parentNode;return a},get textContent(){for(var a="",b=this.firstChild;b;b=b.nextSibling)b.nodeType!=w.COMMENT_NODE&&(a+=b.textContent);return a},set textContent(a){var b=i(this.childNodes);if(this.invalidateShadowRenderer()){if(r(this),""!==a){var c=this.impl.ownerDocument.createTextNode(a);this.appendChild(c)}}else q(this),this.impl.textContent=a;var d=i(this.childNodes);C(this,"childList",{addedNodes:d,removedNodes:b}),m(b),k(d,this)},get childNodes(){for(var a=new y,b=0,c=this.firstChild;c;c=c.nextSibling)a[b++]=c;return a.length=b,a},cloneNode:function(a){return u(this,a)},contains:function(a){return v(this,L(a))},compareDocumentPosition:function(a){return S.call(this.impl,J(a))},normalize:function(){for(var a,b,c=i(this.childNodes),d=[],e="",f=0;f<c.length;f++)b=c[f],b.nodeType===w.TEXT_NODE?a||b.data.length?a?(e+=b.data,d.push(b)):a=b:this.removeNode(b):(a&&d.length&&(a.data+=e,cleanUpNodes(d)),d=[],e="",a=null,b.childNodes.length&&b.normalize());a&&d.length&&(a.data+=e,t(d))}}),B(w,"ownerDocument"),H(Q,w,document.createDocumentFragment()),delete w.prototype.querySelector,delete w.prototype.querySelectorAll,w.prototype=F(Object.create(x.prototype),w.prototype),a.cloneNode=u,a.nodeWasAdded=j,a.nodeWasRemoved=l,a.nodesWereAdded=k,a.nodesWereRemoved=m,a.snapshotNodeList=i,a.wrappers.Node=w}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a,c){for(var d,e=a.firstElementChild;e;){if(e.matches(c))return e;if(d=b(e,c))return d;e=e.nextElementSibling}return null}function c(a,b,d){for(var e=a.firstElementChild;e;)e.matches(b)&&(d[d.length++]=e),c(e,b,d),e=e.nextElementSibling;return d}var d={querySelector:function(a){return b(this,a)},querySelectorAll:function(a){return c(this,a,new NodeList)}},e={getElementsByTagName:function(a){return this.querySelectorAll(a)},getElementsByClassName:function(a){return this.querySelectorAll("."+a)},getElementsByTagNameNS:function(a,b){if("*"===a)return this.getElementsByTagName(b);for(var c=new NodeList,d=this.getElementsByTagName(b),e=0,f=0;e<d.length;e++)d[e].namespaceURI===a&&(c[f++]=d[e]);return c.length=f,c}};a.GetElementsByInterface=e,a.SelectorsInterface=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}function c(a){for(;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}var d=a.wrappers.NodeList,e={get firstElementChild(){return b(this.firstChild)},get lastElementChild(){return c(this.lastChild)},get childElementCount(){for(var a=0,b=this.firstElementChild;b;b=b.nextElementSibling)a++;return a},get children(){for(var a=new d,b=0,c=this.firstElementChild;c;c=c.nextElementSibling)a[b++]=c;return a.length=b,a},remove:function(){var a=this.parentNode;a&&a.removeChild(this)}},f={get nextElementSibling(){return b(this.nextSibling)},get previousElementSibling(){return c(this.previousSibling)}};a.ChildNodeInterface=f,a.ParentNodeInterface=e}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}var c=a.ChildNodeInterface,d=a.wrappers.Node,e=a.enqueueMutation,f=a.mixin,g=a.registerWrapper,h=window.CharacterData;b.prototype=Object.create(d.prototype),f(b.prototype,{get textContent(){return this.data},set textContent(a){this.data=a},get data(){return this.impl.data},set data(a){var b=this.impl.data;e(this,"characterData",{oldValue:b}),this.impl.data=a}}),f(b.prototype,c),g(h,b,document.createTextNode("")),a.wrappers.CharacterData=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a>>>0}function c(a){d.call(this,a)}var d=a.wrappers.CharacterData,e=(a.enqueueMutation,a.mixin),f=a.registerWrapper,g=window.Text;c.prototype=Object.create(d.prototype),e(c.prototype,{splitText:function(a){a=b(a);var c=this.data;if(a>c.length)throw new Error("IndexSizeError");var d=c.slice(0,a),e=c.slice(a);this.data=d;var f=this.ownerDocument.createTextNode(e);return this.parentNode&&this.parentNode.insertBefore(f,this.nextSibling),f}}),f(g,c,document.createTextNode("")),a.wrappers.Text=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b,c){var d=b.parentNode;if(d&&d.shadowRoot){var e=a.getRendererForHost(d);e.dependsOnAttribute(c)&&e.invalidate()}}function c(a,b,c){k(a,"attributes",{name:b,namespace:null,oldValue:c})}function d(a){h.call(this,a)}function e(a,c,d){var e=d||c;Object.defineProperty(a,c,{get:function(){return this.impl[c]},set:function(a){this.impl[c]=a,b(this,e)},configurable:!0,enumerable:!0})}var f=a.ChildNodeInterface,g=a.GetElementsByInterface,h=a.wrappers.Node,i=a.ParentNodeInterface,j=a.SelectorsInterface,k=(a.addWrapNodeListMethod,a.enqueueMutation),l=a.mixin,m=(a.oneOf,a.registerWrapper),n=a.wrappers,o=window.Element,p=["matches","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector"].filter(function(a){return o.prototype[a]}),q=p[0],r=o.prototype[q];d.prototype=Object.create(h.prototype),l(d.prototype,{createShadowRoot:function(){var b=new n.ShadowRoot(this);this.impl.polymerShadowRoot_=b;var c=a.getRendererForHost(this);return c.invalidate(),b},get shadowRoot(){return this.impl.polymerShadowRoot_||null},setAttribute:function(a,d){var e=this.impl.getAttribute(a);this.impl.setAttribute(a,d),c(this,a,e),b(this,a)},removeAttribute:function(a){var d=this.impl.getAttribute(a);this.impl.removeAttribute(a),c(this,a,d),b(this,a)},matches:function(a){return r.call(this.impl,a)}}),p.forEach(function(a){"matches"!==a&&(d.prototype[a]=function(a){return this.matches(a)})}),o.prototype.webkitCreateShadowRoot&&(d.prototype.webkitCreateShadowRoot=d.prototype.createShadowRoot),e(d.prototype,"id"),e(d.prototype,"className","class"),l(d.prototype,f),l(d.prototype,g),l(d.prototype,i),l(d.prototype,j),m(o,d,document.createElementNS(null,"x")),a.matchesNames=p,a.wrappers.Element=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function c(a){return a.replace(z,b)}function d(a){return a.replace(A,b)}function e(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function f(a,b){switch(a.nodeType){case Node.ELEMENT_NODE:for(var e,f=a.tagName.toLowerCase(),h="<"+f,i=a.attributes,j=0;e=i[j];j++)h+=" "+e.name+'="'+c(e.value)+'"';return h+=">",B[f]?h:h+g(a)+"</"+f+">";case Node.TEXT_NODE:var k=a.data;return b&&C[b.localName]?k:d(k);case Node.COMMENT_NODE:return"<!--"+a.data+"-->";default:throw console.error(a),new Error("not implemented")}}function g(a){a instanceof y.HTMLTemplateElement&&(a=a.content);for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=f(c,a);return b}function h(a,b,c){var d=c||"div";a.textContent="";var e=w(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(x(f))}function i(a){o.call(this,a)}function j(a,b){var c=w(a.cloneNode(!1));c.innerHTML=b;for(var d,e=w(document.createDocumentFragment());d=c.firstChild;)e.appendChild(d);return x(e)}function k(b){return function(){return a.renderAllPending(),this.impl[b]}}function l(a){p(i,a,k(a))}function m(b){Object.defineProperty(i.prototype,b,{get:k(b),set:function(c){a.renderAllPending(),this.impl[b]=c},configurable:!0,enumerable:!0})}function n(b){Object.defineProperty(i.prototype,b,{value:function(){return a.renderAllPending(),this.impl[b].apply(this.impl,arguments)},configurable:!0,enumerable:!0})}var o=a.wrappers.Element,p=a.defineGetter,q=a.enqueueMutation,r=a.mixin,s=a.nodesWereAdded,t=a.nodesWereRemoved,u=a.registerWrapper,v=a.snapshotNodeList,w=a.unwrap,x=a.wrap,y=a.wrappers,z=/[&\u00A0"]/g,A=/[&\u00A0<>]/g,B=e(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),C=e(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]),D=/MSIE/.test(navigator.userAgent),E=window.HTMLElement,F=window.HTMLTemplateElement;i.prototype=Object.create(o.prototype),r(i.prototype,{get innerHTML(){return g(this)},set innerHTML(a){if(D&&C[this.localName])return void(this.textContent=a);var b=v(this.childNodes);this.invalidateShadowRenderer()?this instanceof y.HTMLTemplateElement?h(this.content,a):h(this,a,this.tagName):!F&&this instanceof y.HTMLTemplateElement?h(this.content,a):this.impl.innerHTML=a;var c=v(this.childNodes);q(this,"childList",{addedNodes:c,removedNodes:b}),t(b),s(c,this)},get outerHTML(){return f(this,this.parentNode)},set outerHTML(a){var b=this.parentNode;if(b){b.invalidateShadowRenderer();var c=j(b,a);b.replaceChild(c,this)}},insertAdjacentHTML:function(a,b){var c,d;switch(String(a).toLowerCase()){case"beforebegin":c=this.parentNode,d=this;break;case"afterend":c=this.parentNode,d=this.nextSibling;break;case"afterbegin":c=this,d=this.firstChild;break;case"beforeend":c=this,d=null;break;default:return}var e=j(c,b);c.insertBefore(e,d)}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollWidth"].forEach(l),["scrollLeft","scrollTop"].forEach(m),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(n),u(E,i,document.createElement("b")),a.wrappers.HTMLElement=i,a.getInnerHTML=g,a.setInnerHTML=h}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrap,g=window.HTMLCanvasElement;b.prototype=Object.create(c.prototype),d(b.prototype,{getContext:function(){var a=this.impl.getContext.apply(this.impl,arguments);return a&&f(a)}}),e(g,b,document.createElement("canvas")),a.wrappers.HTMLCanvasElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a,b){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var e=f(document.createElement("img"));d.call(this,e),g(e,this),void 0!==a&&(e.width=a),void 0!==b&&(e.height=b)}var d=a.wrappers.HTMLElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLImageElement;b.prototype=Object.create(d.prototype),e(h,b,document.createElement("img")),c.prototype=b.prototype,a.wrappers.HTMLImageElement=b,a.wrappers.Image=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{}),f&&e(f,b),a.wrappers.HTMLShadowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=k.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);k.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=h(d.createDocumentFragment());c=a.firstChild;)e.appendChild(c);return e}function d(a){if(e.call(this,a),!l){var b=c(a);j.set(this,i(b))}}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.unwrap,i=a.wrap,j=new WeakMap,k=new WeakMap,l=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),f(d.prototype,{get content(){return l?i(this.impl.content):j.get(this)}}),l&&g(l,d),a.wrappers.HTMLTemplateElement=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.registerWrapper,e=window.HTMLMediaElement;b.prototype=Object.create(c.prototype),d(e,b,document.createElement("audio")),a.wrappers.HTMLMediaElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){d.call(this,a)}function c(a){if(!(this instanceof c))throw new TypeError("DOM object constructor cannot be called as a function.");var b=f(document.createElement("audio"));d.call(this,b),g(b,this),b.setAttribute("preload","auto"),void 0!==a&&b.setAttribute("src",a)}var d=a.wrappers.HTMLMediaElement,e=a.registerWrapper,f=a.unwrap,g=a.rewrap,h=window.HTMLAudioElement;b.prototype=Object.create(d.prototype),e(h,b,document.createElement("audio")),c.prototype=b.prototype,a.wrappers.HTMLAudioElement=b,a.wrappers.Audio=c}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a.replace(/\s+/g," ").trim()}function c(a){e.call(this,a)}function d(a,b,c,f){if(!(this instanceof d))throw new TypeError("DOM object constructor cannot be called as a function.");var g=i(document.createElement("option"));e.call(this,g),h(g,this),void 0!==a&&(g.text=a),void 0!==b&&g.setAttribute("value",b),c===!0&&g.setAttribute("selected",""),g.selected=f===!0}var e=a.wrappers.HTMLElement,f=a.mixin,g=a.registerWrapper,h=a.rewrap,i=a.unwrap,j=a.wrap,k=window.HTMLOptionElement;c.prototype=Object.create(e.prototype),f(c.prototype,{get text(){return b(this.textContent)},set text(a){this.textContent=b(String(a))},get form(){return j(i(this).form)}}),g(k,c,document.createElement("option")),d.prototype=c.prototype,a.wrappers.HTMLOptionElement=c,a.wrappers.Option=d}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=window.HTMLSelectElement;b.prototype=Object.create(c.prototype),d(b.prototype,{add:function(a,b){"object"==typeof b&&(b=f(b)),f(this).add(f(a),b)},remove:function(a){return void 0===a?void c.prototype.remove.call(this):("object"==typeof a&&(a=f(a)),void f(this).remove(a))},get form(){return g(f(this).form)}}),e(h,b,document.createElement("select")),a.wrappers.HTMLSelectElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.unwrap,g=a.wrap,h=a.wrapHTMLCollection,i=window.HTMLTableElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get caption(){return g(f(this).caption)},createCaption:function(){return g(f(this).createCaption())},get tHead(){return g(f(this).tHead)},createTHead:function(){return g(f(this).createTHead())},createTFoot:function(){return g(f(this).createTFoot())},get tFoot(){return g(f(this).tFoot)},get tBodies(){return h(f(this).tBodies)},createTBody:function(){return g(f(this).createTBody())},get rows(){return h(f(this).rows)},insertRow:function(a){return g(f(this).insertRow(a))}}),e(i,b,document.createElement("table")),a.wrappers.HTMLTableElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableSectionElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get rows(){return f(g(this).rows)},insertRow:function(a){return h(g(this).insertRow(a))}}),e(i,b,document.createElement("thead")),a.wrappers.HTMLTableSectionElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=a.wrapHTMLCollection,g=a.unwrap,h=a.wrap,i=window.HTMLTableRowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get cells(){return f(g(this).cells)},insertCell:function(a){return h(g(this).insertCell(a))}}),e(i,b,document.createElement("tr")),a.wrappers.HTMLTableRowElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement,g=(a.mixin,a.registerWrapper),h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.registerObject,c="http://www.w3.org/2000/svg",d=document.createElementNS(c,"title"),e=b(d),f=Object.getPrototypeOf(e.prototype).constructor;a.wrappers.SVGElement=f}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){m.call(this,a)}var c=a.mixin,d=a.registerWrapper,e=a.unwrap,f=a.wrap,g=window.SVGUseElement,h="http://www.w3.org/2000/svg",i=f(document.createElementNS(h,"g")),j=document.createElementNS(h,"use"),k=i.constructor,l=Object.getPrototypeOf(k.prototype),m=l.constructor;b.prototype=Object.create(l),"instanceRoot"in j&&c(b.prototype,{get instanceRoot(){return f(e(this).instanceRoot)},get animatedInstanceRoot(){return f(e(this).animatedInstanceRoot)}}),d(g,b,j),a.wrappers.SVGUseElement=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.mixin,e=a.registerWrapper,f=a.wrap,g=window.SVGElementInstance;g&&(b.prototype=Object.create(c.prototype),d(b.prototype,{get correspondingElement(){return f(this.impl.correspondingElement)},get correspondingUseElement(){return f(this.impl.correspondingUseElement)},get parentNode(){return f(this.impl.parentNode)},get childNodes(){throw new Error("Not implemented")},get firstChild(){return f(this.impl.firstChild)},get lastChild(){return f(this.impl.lastChild)},get previousSibling(){return f(this.impl.previousSibling)},get nextSibling(){return f(this.impl.nextSibling)}}),e(g,b),a.wrappers.SVGElementInstance=b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}var c=a.mixin,d=a.registerWrapper,e=a.unwrap,f=a.unwrapIfNeeded,g=a.wrap,h=window.CanvasRenderingContext2D;c(b.prototype,{get canvas(){return g(this.impl.canvas)},drawImage:function(){arguments[0]=f(arguments[0]),this.impl.drawImage.apply(this.impl,arguments)},createPattern:function(){return arguments[0]=e(arguments[0]),this.impl.createPattern.apply(this.impl,arguments)}}),d(h,b,document.createElement("canvas").getContext("2d")),a.wrappers.CanvasRenderingContext2D=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}var c=a.mixin,d=a.registerWrapper,e=a.unwrapIfNeeded,f=a.wrap,g=window.WebGLRenderingContext;if(g){c(b.prototype,{get canvas(){return f(this.impl.canvas)},texImage2D:function(){arguments[5]=e(arguments[5]),this.impl.texImage2D.apply(this.impl,arguments)},texSubImage2D:function(){arguments[6]=e(arguments[6]),this.impl.texSubImage2D.apply(this.impl,arguments)}});var h=/WebKit/.test(navigator.userAgent)?{drawingBufferHeight:null,drawingBufferWidth:null}:{};d(g,b,h),a.wrappers.WebGLRenderingContext=b}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}var c=a.registerWrapper,d=a.unwrap,e=a.unwrapIfNeeded,f=a.wrap,g=window.Range;b.prototype={get startContainer(){return f(this.impl.startContainer)},get endContainer(){return f(this.impl.endContainer)},get commonAncestorContainer(){return f(this.impl.commonAncestorContainer)},setStart:function(a,b){this.impl.setStart(e(a),b)},setEnd:function(a,b){this.impl.setEnd(e(a),b)},setStartBefore:function(a){this.impl.setStartBefore(e(a))},setStartAfter:function(a){this.impl.setStartAfter(e(a))},setEndBefore:function(a){this.impl.setEndBefore(e(a))},setEndAfter:function(a){this.impl.setEndAfter(e(a))},selectNode:function(a){this.impl.selectNode(e(a))},selectNodeContents:function(a){this.impl.selectNodeContents(e(a))},compareBoundaryPoints:function(a,b){return this.impl.compareBoundaryPoints(a,d(b))},extractContents:function(){return f(this.impl.extractContents())},cloneContents:function(){return f(this.impl.cloneContents())},insertNode:function(a){this.impl.insertNode(e(a))},surroundContents:function(a){this.impl.surroundContents(e(a))},cloneRange:function(){return f(this.impl.cloneRange())},isPointInRange:function(a,b){return this.impl.isPointInRange(e(a),b)},comparePoint:function(a,b){return this.impl.comparePoint(e(a),b)},intersectsNode:function(a){return this.impl.intersectsNode(e(a))},toString:function(){return this.impl.toString()}},g.prototype.createContextualFragment&&(b.prototype.createContextualFragment=function(a){return f(this.impl.createContextualFragment(a))
+}),c(window.Range,b,document.createRange()),a.wrappers.Range=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.GetElementsByInterface,c=a.ParentNodeInterface,d=a.SelectorsInterface,e=a.mixin,f=a.registerObject,g=f(document.createDocumentFragment());e(g.prototype,c),e(g.prototype,d),e(g.prototype,b);var h=f(document.createComment(""));a.wrappers.Comment=h,a.wrappers.DocumentFragment=g}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=k(a.impl.ownerDocument.createDocumentFragment());c.call(this,b),i(b,this),this.treeScope_=new d(this,g(a));var e=a.shadowRoot;m.set(this,e),l.set(this,a)}var c=a.wrappers.DocumentFragment,d=a.TreeScope,e=a.elementFromPoint,f=a.getInnerHTML,g=a.getTreeScope,h=a.mixin,i=a.rewrap,j=a.setInnerHTML,k=a.unwrap,l=new WeakMap,m=new WeakMap,n=/[ \t\n\r\f]/;b.prototype=Object.create(c.prototype),h(b.prototype,{get innerHTML(){return f(this)},set innerHTML(a){j(this,a),this.invalidateShadowRenderer()},get olderShadowRoot(){return m.get(this)||null},get host(){return l.get(this)||null},invalidateShadowRenderer:function(){return l.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return e(this,this.ownerDocument,a,b)},getElementById:function(a){return n.test(a)?null:this.querySelector('[id="'+a+'"]')}}),a.wrappers.ShadowRoot=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(a,c,e){var f=G(a),g=G(c),h=e?G(e):null;if(d(c),b(c),e)a.firstChild===e&&(a.firstChild_=e),e.previousSibling_=e.previousSibling;else{a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var i=H(f.lastChild);i&&(i.nextSibling_=i.nextSibling)}f.insertBefore(g,h)}function d(a){var c=G(a),d=c.parentNode;if(d){var e=H(d);b(a),a.previousSibling&&(a.previousSibling.nextSibling_=a),a.nextSibling&&(a.nextSibling.previousSibling_=a),e.lastChild===a&&(e.lastChild_=a),e.firstChild===a&&(e.firstChild_=a),d.removeChild(c)}}function e(a,b){g(b).push(a),x(a,b);var c=J.get(a);c||J.set(a,c=[]),c.push(b)}function f(a){I.set(a,[])}function g(a){var b=I.get(a);return b||I.set(a,b=[]),b}function h(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function i(a,b,c){for(var d=a.firstChild;d;d=d.nextSibling)if(b(d)){if(c(d)===!1)return}else i(d,b,c)}function j(a,b){var c=b.getAttribute("select");if(!c)return!0;if(c=c.trim(),!c)return!0;if(!(a instanceof z))return!1;if("*"===c||c===a.localName)return!0;if(!M.test(c))return!1;if(":"===c[0]&&!N.test(c))return!1;try{return a.matches(c)}catch(d){return!1}}function k(){for(var a=0;a<P.length;a++){var b=P[a],c=b.parentRenderer;c&&c.dirty||b.render()}P=[]}function l(){y=null,k()}function m(a){var b=L.get(a);return b||(b=new q(a),L.set(a,b)),b}function n(a){var b=E(a).root;return b instanceof D?b:null}function o(a){return m(a.host)}function p(a){this.skip=!1,this.node=a,this.childNodes=[]}function q(a){this.host=a,this.dirty=!1,this.invalidateAttributes(),this.associateNode(a)}function r(a){return a instanceof A}function s(a){return a instanceof A}function t(a){return a instanceof B}function u(a){return a instanceof B}function v(a){return a.shadowRoot}function w(a){for(var b=[],c=a.shadowRoot;c;c=c.olderShadowRoot)b.push(c);return b}function x(a,b){K.set(a,b)}var y,z=a.wrappers.Element,A=a.wrappers.HTMLContentElement,B=a.wrappers.HTMLShadowElement,C=a.wrappers.Node,D=a.wrappers.ShadowRoot,E=(a.assert,a.getTreeScope),F=(a.mixin,a.oneOf),G=a.unwrap,H=a.wrap,I=new WeakMap,J=new WeakMap,K=new WeakMap,L=new WeakMap,M=/^[*.:#[a-zA-Z_|]/,N=new RegExp("^:("+["link","visited","target","enabled","disabled","checked","indeterminate","nth-child","nth-last-child","nth-of-type","nth-last-of-type","first-child","last-child","first-of-type","last-of-type","only-of-type"].join("|")+")"),O=F(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","setTimeout"]),P=[],Q=new ArraySplice;Q.equals=function(a,b){return G(a.node)===b},p.prototype={append:function(a){var b=new p(a);return this.childNodes.push(b),b},sync:function(a){if(!this.skip){for(var b=this.node,e=this.childNodes,f=h(G(b)),g=a||new WeakMap,i=Q.calculateSplices(e,f),j=0,k=0,l=0,m=0;m<i.length;m++){for(var n=i[m];l<n.index;l++)k++,e[j++].sync(g);for(var o=n.removed.length,p=0;o>p;p++){var q=H(f[k++]);g.get(q)||d(q)}for(var r=n.addedCount,s=f[k]&&H(f[k]),p=0;r>p;p++){var t=e[j++],u=t.node;c(b,u,s),g.set(u,!0),t.sync(g)}l+=r}for(var m=l;m<e.length;m++)e[m].sync(g)}}},q.prototype={render:function(a){if(this.dirty){this.invalidateAttributes(),this.treeComposition();var b=this.host,c=b.shadowRoot;this.associateNode(b);for(var d=!e,e=a||new p(b),f=c.firstChild;f;f=f.nextSibling)this.renderNode(c,e,f,!1);d&&e.sync(),this.dirty=!1}},get parentRenderer(){return E(this.host).renderer},invalidate:function(){if(!this.dirty){if(this.dirty=!0,P.push(this),y)return;y=window[O](l,0)}},renderNode:function(a,b,c,d){if(v(c)){b=b.append(c);var e=m(c);e.dirty=!0,e.render(b)}else r(c)?this.renderInsertionPoint(a,b,c,d):t(c)?this.renderShadowInsertionPoint(a,b,c):this.renderAsAnyDomTree(a,b,c,d)},renderAsAnyDomTree:function(a,b,c,d){if(b=b.append(c),v(c)){var e=m(c);b.skip=!e.dirty,e.render(b)}else for(var f=c.firstChild;f;f=f.nextSibling)this.renderNode(a,b,f,d)},renderInsertionPoint:function(a,b,c,d){var e=g(c);if(e.length){this.associateNode(c);for(var f=0;f<e.length;f++){var h=e[f];r(h)&&d?this.renderInsertionPoint(a,b,h,d):this.renderAsAnyDomTree(a,b,h,d)}}else this.renderFallbackContent(a,b,c);this.associateNode(c.parentNode)},renderShadowInsertionPoint:function(a,b,c){var d=a.olderShadowRoot;if(d){x(d,c),this.associateNode(c.parentNode);for(var e=d.firstChild;e;e=e.nextSibling)this.renderNode(d,b,e,!0)}else this.renderFallbackContent(a,b,c)},renderFallbackContent:function(a,b,c){this.associateNode(c),this.associateNode(c.parentNode);for(var d=c.firstChild;d;d=d.nextSibling)this.renderAsAnyDomTree(a,b,d,!1)},invalidateAttributes:function(){this.attributes=Object.create(null)},updateDependentAttributes:function(a){if(a){var b=this.attributes;/\.\w+/.test(a)&&(b["class"]=!0),/#\w+/.test(a)&&(b.id=!0),a.replace(/\[\s*([^\s=\|~\]]+)/g,function(a,c){b[c]=!0})}},dependsOnAttribute:function(a){return this.attributes[a]},distribute:function(a,b){var c=this;i(a,s,function(a){f(a),c.updateDependentAttributes(a.getAttribute("select"));for(var d=0;d<b.length;d++){var g=b[d];void 0!==g&&j(g,a)&&(e(g,a),b[d]=void 0)}})},treeComposition:function(){for(var a=this.host,b=a.shadowRoot,c=[],d=a.firstChild;d;d=d.nextSibling)if(r(d)){var e=g(d);e&&e.length||(e=h(d)),c.push.apply(c,e)}else c.push(d);for(var f,j;b;){if(f=void 0,i(b,u,function(a){return f=a,!1}),j=f,this.distribute(b,c),j){var k=b.olderShadowRoot;if(k){b=k,x(b,j);continue}break}break}},associateNode:function(a){a.impl.polymerShadowRenderer_=this}},C.prototype.invalidateShadowRenderer=function(){var a=this.impl.polymerShadowRenderer_;return a?(a.invalidate(),!0):!1},A.prototype.getDistributedNodes=function(){return k(),g(this)},B.prototype.nodeIsInserted_=A.prototype.nodeIsInserted_=function(){this.invalidateShadowRenderer();var a,b=n(this);b&&(a=o(b)),this.impl.polymerShadowRenderer_=a,a&&a.invalidate()},a.eventParentsTable=J,a.getRendererForHost=m,a.getShadowTrees=w,a.insertionParentTable=K,a.renderAllPending=k,a.visual={insertBefore:c,remove:d}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(b){if(window[b]){d(!a.wrappers[b]);var i=function(a){c.call(this,a)};i.prototype=Object.create(c.prototype),e(i.prototype,{get form(){return h(g(this).form)}}),f(window[b],i,document.createElement(b.slice(4,-7))),a.wrappers[b]=i}}var c=a.wrappers.HTMLElement,d=a.assert,e=a.mixin,f=a.registerWrapper,g=a.unwrap,h=a.wrap,i=["HTMLButtonElement","HTMLFieldSetElement","HTMLInputElement","HTMLKeygenElement","HTMLLabelElement","HTMLLegendElement","HTMLObjectElement","HTMLOutputElement","HTMLTextAreaElement"];i.forEach(b)}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){this.impl=a}{var c=a.registerWrapper,d=a.unwrap,e=a.unwrapIfNeeded,f=a.wrap;window.Selection}b.prototype={get anchorNode(){return f(this.impl.anchorNode)},get focusNode(){return f(this.impl.focusNode)},addRange:function(a){this.impl.addRange(d(a))},collapse:function(a,b){this.impl.collapse(e(a),b)},containsNode:function(a,b){return this.impl.containsNode(e(a),b)},extend:function(a,b){this.impl.extend(e(a),b)},getRangeAt:function(a){return f(this.impl.getRangeAt(a))},removeRange:function(a){this.impl.removeRange(d(a))},selectAllChildren:function(a){this.impl.selectAllChildren(e(a))},toString:function(){return this.impl.toString()}},c(window.Selection,b,window.getSelection()),a.wrappers.Selection=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){k.call(this,a),this.treeScope_=new p(this,null)}function c(a){var c=document[a];b.prototype[a]=function(){return A(c.apply(this.impl,arguments))}}function d(a,b){D.call(b.impl,z(a)),e(a,b)}function e(a,b){a.shadowRoot&&b.adoptNode(a.shadowRoot),a instanceof o&&f(a,b);for(var c=a.firstChild;c;c=c.nextSibling)e(c,b)}function f(a,b){var c=a.olderShadowRoot;c&&b.adoptNode(c)}function g(a){this.impl=a}function h(a,b){var c=document.implementation[b];a.prototype[b]=function(){return A(c.apply(this.impl,arguments))}}function i(a,b){var c=document.implementation[b];a.prototype[b]=function(){return c.apply(this.impl,arguments)}}var j=a.GetElementsByInterface,k=a.wrappers.Node,l=a.ParentNodeInterface,m=a.wrappers.Selection,n=a.SelectorsInterface,o=a.wrappers.ShadowRoot,p=a.TreeScope,q=a.cloneNode,r=a.defineWrapGetter,s=a.elementFromPoint,t=a.forwardMethodsToWrapper,u=a.matchesNames,v=a.mixin,w=a.registerWrapper,x=a.renderAllPending,y=a.rewrap,z=a.unwrap,A=a.wrap,B=a.wrapEventTargetMethods,C=(a.wrapNodeList,new WeakMap);b.prototype=Object.create(k.prototype),r(b,"documentElement"),r(b,"body"),r(b,"head"),["createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode","getElementById"].forEach(c);var D=document.adoptNode,E=document.getSelection;if(v(b.prototype,{adoptNode:function(a){return a.parentNode&&a.parentNode.removeChild(a),d(a,this),a},elementFromPoint:function(a,b){return s(this,this,a,b)},importNode:function(a,b){return q(a,b,this.impl)},getSelection:function(){return x(),new m(E.call(z(this)))}}),document.registerElement){var F=document.registerElement;b.prototype.registerElement=function(b,c){function d(a){return a?void(this.impl=a):f?document.createElement(f,b):document.createElement(b)}var e,f;if(void 0!==c&&(e=c.prototype,f=c.extends),e||(e=Object.create(HTMLElement.prototype)),a.nativePrototypeTable.get(e))throw new Error("NotSupportedError");for(var g,h=Object.getPrototypeOf(e),i=[];h&&!(g=a.nativePrototypeTable.get(h));)i.push(h),h=Object.getPrototypeOf(h);if(!g)throw new Error("NotSupportedError");for(var j=Object.create(g),k=i.length-1;k>=0;k--)j=Object.create(j);["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"].forEach(function(a){var b=e[a];b&&(j[a]=function(){A(this)instanceof d||y(this),b.apply(A(this),arguments)})});var l={prototype:j};f&&(l.extends=f),d.prototype=e,d.prototype.constructor=d,a.constructorTable.set(j,d),a.nativePrototypeTable.set(e,j);F.call(z(this),b,l);return d},t([window.HTMLDocument||window.Document],["registerElement"])}t([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement,window.HTMLHtmlElement],["appendChild","compareDocumentPosition","contains","getElementsByClassName","getElementsByTagName","getElementsByTagNameNS","insertBefore","querySelector","querySelectorAll","removeChild","replaceChild"].concat(u)),t([window.HTMLDocument||window.Document],["adoptNode","importNode","contains","createComment","createDocumentFragment","createElement","createElementNS","createEvent","createEventNS","createRange","createTextNode","elementFromPoint","getElementById","getSelection"]),v(b.prototype,j),v(b.prototype,l),v(b.prototype,n),v(b.prototype,{get implementation(){var a=C.get(this);return a?a:(a=new g(z(this).implementation),C.set(this,a),a)}}),w(window.Document,b,document.implementation.createHTMLDocument("")),window.HTMLDocument&&w(window.HTMLDocument,b),B([window.HTMLBodyElement,window.HTMLDocument||window.Document,window.HTMLHeadElement]),h(g,"createDocumentType"),h(g,"createDocument"),h(g,"createHTMLDocument"),i(g,"hasFeature"),w(window.DOMImplementation,g),t([window.DOMImplementation],["createDocumentType","createDocument","createHTMLDocument","hasFeature"]),a.adoptNodeNoRemove=d,a.wrappers.DOMImplementation=g,a.wrappers.Document=b}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.EventTarget,d=a.wrappers.Selection,e=a.mixin,f=a.registerWrapper,g=a.renderAllPending,h=a.unwrap,i=a.unwrapIfNeeded,j=a.wrap,k=window.Window,l=window.getComputedStyle,m=window.getSelection;b.prototype=Object.create(c.prototype),k.prototype.getComputedStyle=function(a,b){return j(this||window).getComputedStyle(i(a),b)},k.prototype.getSelection=function(){return j(this||window).getSelection()},delete window.getComputedStyle,delete window.getSelection,["addEventListener","removeEventListener","dispatchEvent"].forEach(function(a){k.prototype[a]=function(){var b=j(this||window);return b[a].apply(b,arguments)},delete window[a]}),e(b.prototype,{getComputedStyle:function(a,b){return g(),l.call(h(this),i(a),b)},getSelection:function(){return g(),new d(m.call(h(this)))}}),f(k,b),a.wrappers.Window=b}(window.ShadowDOMPolyfill),function(a){"use strict";var b=a.unwrap,c=window.DataTransfer||window.Clipboard,d=c.prototype.setDragImage;c.prototype.setDragImage=function(a,c,e){d.call(this,b(a),c,e)}}(window.ShadowDOMPolyfill),function(a){"use strict";function b(a){var b=c[a],d=window[b];if(d){var e=document.createElement(a),f=e.constructor;window[b]=f}}var c=(a.isWrapperFor,{a:"HTMLAnchorElement",area:"HTMLAreaElement",audio:"HTMLAudioElement",base:"HTMLBaseElement",body:"HTMLBodyElement",br:"HTMLBRElement",button:"HTMLButtonElement",canvas:"HTMLCanvasElement",caption:"HTMLTableCaptionElement",col:"HTMLTableColElement",content:"HTMLContentElement",data:"HTMLDataElement",datalist:"HTMLDataListElement",del:"HTMLModElement",dir:"HTMLDirectoryElement",div:"HTMLDivElement",dl:"HTMLDListElement",embed:"HTMLEmbedElement",fieldset:"HTMLFieldSetElement",font:"HTMLFontElement",form:"HTMLFormElement",frame:"HTMLFrameElement",frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",head:"HTMLHeadElement",hr:"HTMLHRElement",html:"HTMLHtmlElement",iframe:"HTMLIFrameElement",img:"HTMLImageElement",input:"HTMLInputElement",keygen:"HTMLKeygenElement",label:"HTMLLabelElement",legend:"HTMLLegendElement",li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",marquee:"HTMLMarqueeElement",menu:"HTMLMenuElement",menuitem:"HTMLMenuItemElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",script:"HTMLScriptElement",select:"HTMLSelectElement",shadow:"HTMLShadowElement",source:"HTMLSourceElement",span:"HTMLSpanElement",style:"HTMLStyleElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",template:"HTMLTemplateElement",textarea:"HTMLTextAreaElement",thead:"HTMLTableSectionElement",time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",ul:"HTMLUListElement",video:"HTMLVideoElement"});Object.keys(c).forEach(b),Object.getOwnPropertyNames(a.wrappers).forEach(function(b){window[b]=a.wrappers[b]})}(window.ShadowDOMPolyfill),function(){window.wrap=ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=ShadowDOMPolyfill.unwrapIfNeeded,Object.defineProperty(Element.prototype,"webkitShadowRoot",Object.getOwnPropertyDescriptor(Element.prototype,"shadowRoot"));var a=Element.prototype.createShadowRoot;Element.prototype.createShadowRoot=function(){var b=a.call(this);return CustomElements.watchShadow(this),b},Element.prototype.webkitCreateShadowRoot=Element.prototype.createShadowRoot}(),function(a){function b(a,b){var c="";return Array.prototype.forEach.call(a,function(a){c+=a.textContent+"\n\n"}),b||(c=c.replace(l,"")),c}function c(a){var b=document.createElement("style");return b.textContent=a,b}function d(a){var b=c(a);document.head.appendChild(b);var d=[];if(b.sheet)try{d=b.sheet.cssRules}catch(e){}else console.warn("sheet not found",b);return b.parentNode.removeChild(b),d}function e(){v.initialized=!0,document.body.appendChild(v);var a=v.contentDocument,b=a.createElement("base");b.href=document.baseURI,a.head.appendChild(b)}function f(a){v.initialized||e(),document.body.appendChild(v),a(v.contentDocument),document.body.removeChild(v)}function g(a,b){if(b){var e;if(a.match("@import")&&x){var g=c(a);f(function(a){a.head.appendChild(g.impl),e=g.sheet.cssRules,b(e)})}else e=d(a),b(e)}}function h(a){a&&j().appendChild(document.createTextNode(a))}function i(a,b){var d=c(a);d.setAttribute(b,""),d.setAttribute(z,""),document.head.appendChild(d)}function j(){return w||(w=document.createElement("style"),w.setAttribute(z,""),w[z]=!0),w}var k={strictStyling:!1,registry:{},shimStyling:function(a,c,d){var e=this.prepareRoot(a,c,d),f=this.isTypeExtension(d),g=this.makeScopeSelector(c,f),h=b(e,!0);h=this.scopeCssText(h,g),a&&(a.shimmedStyle=h),this.addCssToDocument(h,c)},shimStyle:function(a,b){return this.shimCssText(a.textContent,b)},shimCssText:function(a,b){return a=this.insertDirectives(a),this.scopeCssText(a,b)},makeScopeSelector:function(a,b){return a?b?"[is="+a+"]":a:""},isTypeExtension:function(a){return a&&a.indexOf("-")<0},prepareRoot:function(a,b,c){var d=this.registerRoot(a,b,c);return this.replaceTextInStyles(d.rootStyles,this.insertDirectives),this.removeStyles(a,d.rootStyles),this.strictStyling&&this.applyScopeToContent(a,b),d.scopeStyles},removeStyles:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)c.parentNode.removeChild(c)},registerRoot:function(a,b,c){var d=this.registry[b]={root:a,name:b,extendsName:c},e=this.findStyles(a);d.rootStyles=e,d.scopeStyles=d.rootStyles;var f=this.registry[d.extendsName];return f&&(d.scopeStyles=f.scopeStyles.concat(d.scopeStyles)),d},findStyles:function(a){if(!a)return[];var b=a.querySelectorAll("style");return Array.prototype.filter.call(b,function(a){return!a.hasAttribute(A)})},applyScopeToContent:function(a,b){a&&(Array.prototype.forEach.call(a.querySelectorAll("*"),function(a){a.setAttribute(b,"")}),Array.prototype.forEach.call(a.querySelectorAll("template"),function(a){this.applyScopeToContent(a.content,b)},this))},insertDirectives:function(a){return a=this.insertPolyfillDirectivesInCssText(a),this.insertPolyfillRulesInCssText(a)},insertPolyfillDirectivesInCssText:function(a){return a=a.replace(m,function(a,b){return b.slice(0,-2)+"{"}),a.replace(n,function(a,b){return b+" {"})},insertPolyfillRulesInCssText:function(a){return a=a.replace(o,function(a,b){return b.slice(0,-1)}),a.replace(p,function(a,b,c,d){var e=a.replace(b,"").replace(c,"");return d+e})},scopeCssText:function(a,b){var c=this.extractUnscopedRulesFromCssText(a);if(a=this.insertPolyfillHostInCssText(a),a=this.convertColonHost(a),a=this.convertColonHostContext(a),a=this.convertCombinators(a),b){var a,d=this;g(a,function(c){a=d.scopeRules(c,b)})}return a=a+"\n"+c,a.trim()},extractUnscopedRulesFromCssText:function(a){for(var b,c="";b=q.exec(a);)c+=b[1].slice(0,-1)+"\n\n";for(;b=r.exec(a);)c+=b[0].replace(b[2],"").replace(b[1],b[3])+"\n\n";return c},convertColonHost:function(a){return this.convertColonRule(a,cssColonHostRe,this.colonHostPartReplacer)},convertColonHostContext:function(a){return this.convertColonRule(a,cssColonHostContextRe,this.colonHostContextPartReplacer)},convertColonRule:function(a,b,c){return a.replace(b,function(a,b,d,e){if(b=polyfillHostNoCombinator,d){for(var f,g=d.split(","),h=[],i=0,j=g.length;j>i&&(f=g[i]);i++)f=f.trim(),h.push(c(b,f,e));return h.join(",")}return b+e})},colonHostContextPartReplacer:function(a,b,c){return b.match(s)?this.colonHostPartReplacer(a,b,c):a+b+c+", "+b+" "+a+c},colonHostPartReplacer:function(a,b,c){return a+b.replace(s,"")+c},convertCombinators:function(a){for(var b=0;b<combinatorsRe.length;b++)a=a.replace(combinatorsRe[b]," ");return a},scopeRules:function(a,b){var c="";return a&&Array.prototype.forEach.call(a,function(a){a.selectorText&&a.style&&a.style.cssText?(c+=this.scopeSelector(a.selectorText,b,this.strictStyling)+" {\n ",c+=this.propertiesFromRule(a)+"\n}\n\n"):a.type===CSSRule.MEDIA_RULE?(c+="@media "+a.media.mediaText+" {\n",c+=this.scopeRules(a.cssRules,b),c+="\n}\n\n"):a.cssText&&(c+=a.cssText+"\n\n")},this),c},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c&&!a.match(polyfillHostNoCombinator)?this.applyStrictSelectorScope(a,b):this.applySimpleSelectorScope(a,b)),d.push(a)},this),d.join(", ")},selectorNeedsScoping:function(a,b){var c=this.makeScopeMatcher(b);return!a.match(c)},makeScopeMatcher:function(a){return a=a.replace(/\[/g,"\\[").replace(/\[/g,"\\]"),new RegExp("^("+a+")"+selectorReSuffix,"m")},applySimpleSelectorScope:function(a,b){return a.match(polyfillHostRe)?(a=a.replace(polyfillHostNoCombinator,b),a.replace(polyfillHostRe,b+" ")):b+" "+a},applyStrictSelectorScope:function(a,b){b=b.replace(/\[is=([^\]]*)\]/g,"$1");var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim().replace(polyfillHostRe,"");return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},insertPolyfillHostInCssText:function(a){return a.replace(colonHostContextRe,t).replace(colonHostRe,s)},propertiesFromRule:function(a){var b=a.style.cssText;a.style.content&&!a.style.content.match(/['"]+|attr/)&&(b=b.replace(/content:[^;]*;/g,"content: '"+a.style.content+"';"));var c=a.style;for(var d in c)"initial"===c[d]&&(b+=d+": initial; ");return b},replaceTextInStyles:function(a,b){a&&b&&(a instanceof Array||(a=[a]),Array.prototype.forEach.call(a,function(a){a.textContent=b.call(this,a.textContent)},this))},addCssToDocument:function(a,b){a.match("@import")?i(a,b):h(a)}},l=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,m=/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,n=/polyfill-next-selector[^}]*content\:[\s]*'([^']*)'[^}]*}([^{]*?){/gim,o=/\/\*\s@polyfill-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim,p=/(polyfill-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*}/gim,q=/\/\*\s@polyfill-unscoped-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim,r=/(polyfill-unscoped-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*}/gim,s="-shadowcsshost",t="-shadowcsscontext",u=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)";cssColonHostRe=new RegExp("("+s+u,"gim"),cssColonHostContextRe=new RegExp("("+t+u,"gim"),selectorReSuffix="([>\\s~+[.,{:][\\s\\S]*)?$",colonHostRe=/\:host/gim,colonHostContextRe=/\:host-context/gim,polyfillHostNoCombinator=s+"-no-combinator",polyfillHostRe=new RegExp(s,"gim"),polyfillHostContextRe=new RegExp(t,"gim"),combinatorsRe=[/\^\^/g,/\^/g,/\/shadow\//g,/\/shadow-deep\//g,/::shadow/g,/\/deep\//g];var v=document.createElement("iframe");v.style.display="none";var w,x=navigator.userAgent.match("Chrome"),y="shim-shadowdom",z="shim-shadowdom-css",A="no-shim";if(window.ShadowDOMPolyfill){h("style { display: none !important; }\n");var B=wrap(document),C=B.querySelector("head");C.insertBefore(j(),C.childNodes[0]),document.addEventListener("DOMContentLoaded",function(){var b=a.urlResolver;if(window.HTMLImports&&!HTMLImports.useNative){var c="link[rel=stylesheet]["+y+"]",d="style["+y+"]";HTMLImports.importer.documentPreloadSelectors+=","+c,HTMLImports.importer.importsPreloadSelectors+=","+c,HTMLImports.parser.documentSelectors=[HTMLImports.parser.documentSelectors,c,d].join(",");var e=HTMLImports.parser.parseGeneric;HTMLImports.parser.parseGeneric=function(a){if(!a[z]){var c=a.__importElement||a;if(!c.hasAttribute(y))return void e.call(this,a);a.__resource?(c=a.ownerDocument.createElement("style"),c.textContent=b.resolveCssText(a.__resource,a.href)):b.resolveStyle(c),c.textContent=k.shimStyle(c),c.removeAttribute(y,""),c.setAttribute(z,""),c[z]=!0,c.parentNode!==C&&(a.parentNode===C?C.replaceChild(c,a):C.appendChild(c)),c.__importParsed=!0,this.markParsingComplete(a)}};var f=HTMLImports.parser.hasResource;HTMLImports.parser.hasResource=function(a){return"link"===a.localName&&"stylesheet"===a.rel&&a.hasAttribute(y)?a.__resource:f.call(this,a)}}})}a.ShadowCSS=k}(window.Platform)):!function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},addEventListener("DOMContentLoaded",function(){if(CustomElements.useNative===!1){var a=Element.prototype.createShadowRoot;Element.prototype.createShadowRoot=function(){var b=a.call(this);return CustomElements.watchShadow(this),b}}}),window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){"use strict";function b(a){return void 0!==m[a]}function c(){h.call(this),this._isInvalid=!0}function d(a){return""==a&&c.call(this),a.toLowerCase()}function e(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function f(a){var b=a.charCodeAt(0);return b>32&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function g(a,g,h){function i(a){t.push(a)}var j=g||"scheme start",k=0,l="",r=!1,s=!1,t=[];a:for(;(a[k-1]!=o||0==k)&&!this._isInvalid;){var u=a[k];switch(j){case"scheme start":if(!u||!p.test(u)){if(g){i("Invalid scheme.");break a}l="",j="no scheme";continue}l+=u.toLowerCase(),j="scheme";break;case"scheme":if(u&&q.test(u))l+=u.toLowerCase();else{if(":"!=u){if(g){if(o==u)break a;i("Code point not allowed in scheme: "+u);break a}l="",k=0,j="no scheme";continue}if(this._scheme=l,l="",g)break a;b(this._scheme)&&(this._isRelative=!0),j="file"==this._scheme?"relative":this._isRelative&&h&&h._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==u?(query="?",j="query"):"#"==u?(this._fragment="#",j="fragment"):o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._schemeData+=e(u));break;case"no scheme":if(h&&b(h._scheme)){j="relative";continue}i("Missing scheme."),c.call(this);break;case"relative or authority":if("/"!=u||"/"!=a[k+1]){i("Expected /, got: "+u),j="relative";continue}j="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=h._scheme),o==u){this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query;break a}if("/"==u||"\\"==u)"\\"==u&&i("\\ is an invalid code point."),j="relative slash";else if("?"==u)this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query="?",j="query";else{if("#"!=u){var v=a[k+1],w=a[k+2];("file"!=this._scheme||!p.test(u)||":"!=v&&"|"!=v||o!=w&&"/"!=w&&"\\"!=w&&"?"!=w&&"#"!=w)&&(this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._path.pop()),j="relative path";continue}this._host=h._host,this._port=h._port,this._path=h._path.slice(),this._query=h._query,this._fragment="#",j="fragment"}break;case"relative slash":if("/"!=u&&"\\"!=u){"file"!=this._scheme&&(this._host=h._host,this._port=h._port),j="relative path";continue}"\\"==u&&i("\\ is an invalid code point."),j="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=u){i("Expected '/', got: "+u),j="authority ignore slashes";continue}j="authority second slash";break;case"authority second slash":if(j="authority ignore slashes","/"!=u){i("Expected '/', got: "+u);continue}break;case"authority ignore slashes":if("/"!=u&&"\\"!=u){j="authority";continue}i("Expected authority, got: "+u);break;case"authority":if("@"==u){r&&(i("@ already seen."),l+="%40"),r=!0;for(var x=0;x<l.length;x++){var y=l[x];if(" "!=y&&"\n"!=y&&"\r"!=y)if(":"!=y||null!==this._password){var z=e(y);null!==this._password?this._password+=z:this._username+=z}else this._password="";else i("Invalid whitespace in authority.")}l=""}else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){k-=l.length,l="",j="host";continue}l+=u}break;case"file host":if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){2!=l.length||!p.test(l[0])||":"!=l[1]&&"|"!=l[1]?0==l.length?j="relative path start":(this._host=d.call(this,l),l="",j="relative path start"):j="relative path";continue}" "==u||"\n"==u||"\r"==u?i("Invalid whitespace in file host."):l+=u;break;case"host":case"hostname":if(":"!=u||s){if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u){if(this._host=d.call(this,l),l="",j="relative path start",g)break a;continue}" "!=u&&"\n"!=u&&"\r"!=u?("["==u?s=!0:"]"==u&&(s=!1),l+=u):i("Invalid code point in host/hostname: "+u)}else if(this._host=d.call(this,l),l="",j="port","hostname"==g)break a;break;case"port":if(/[0-9]/.test(u))l+=u;else{if(o==u||"/"==u||"\\"==u||"?"==u||"#"==u||g){if(""!=l){var A=parseInt(l,10);A!=m[this._scheme]&&(this._port=A+""),l=""}if(g)break a;j="relative path start";continue}" "==u||"\n"==u||"\r"==u?i("Invalid code point in port: "+u):c.call(this)}break;case"relative path start":if("\\"==u&&i("'\\' not allowed in path."),j="relative path","/"!=u&&"\\"!=u)continue;break;case"relative path":if(o!=u&&"/"!=u&&"\\"!=u&&(g||"?"!=u&&"#"!=u))" "!=u&&"\n"!=u&&"\r"!=u&&(l+=e(u));else{"\\"==u&&i("\\ not allowed in relative path.");var B;(B=n[l.toLowerCase()])&&(l=B),".."==l?(this._path.pop(),"/"!=u&&"\\"!=u&&this._path.push("")):"."==l&&"/"!=u&&"\\"!=u?this._path.push(""):"."!=l&&("file"==this._scheme&&0==this._path.length&&2==l.length&&p.test(l[0])&&"|"==l[1]&&(l=l[0]+":"),this._path.push(l)),l="","?"==u?(this._query="?",j="query"):"#"==u&&(this._fragment="#",j="fragment")}break;case"query":g||"#"!=u?o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._query+=f(u)):(this._fragment="#",j="fragment");break;case"fragment":o!=u&&" "!=u&&"\n"!=u&&"\r"!=u&&(this._fragment+=u)}k++}}function h(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function i(a,b){void 0===b||b instanceof i||(b=new i(String(b))),this._url=a,h.call(this);var c=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");g.call(this,c,null,b)}var j=!1;if(!a.forceJURL)try{var k=new URL("b","http://a");j="http://a/b"===k.href}catch(l){}if(!j){var m=Object.create(null);m.ftp=21,m.file=0,m.gopher=70,m.http=80,m.https=443,m.ws=80,m.wss=443;var n=Object.create(null);n["%2e"]=".",n[".%2e"]="..",n["%2e."]="..",n["%2e%2e"]="..";var o=void 0,p=/[a-zA-Z]/,q=/[a-zA-Z0-9\+\-\.]/;i.prototype={get href(){if(this._isInvalid)return this._url;var a="";return(""!=this._username||null!=this._password)&&(a=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+a+this.host:"")+this.pathname+this._query+this._fragment},set href(a){h.call(this),g.call(this,a)},get protocol(){return this._scheme+":"},set protocol(a){this._isInvalid||g.call(this,a+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"host")},get hostname(){return this._host},set hostname(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"hostname")},get port(){return this._port},set port(a){!this._isInvalid&&this._isRelative&&g.call(this,a,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(a){!this._isInvalid&&this._isRelative&&(this._path=[],g.call(this,a,"relative path start"))
+},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this._query},set search(a){!this._isInvalid&&this._isRelative&&(this._query="?","?"==a[0]&&(a=a.slice(1)),g.call(this,a,"query"))},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(a){this._isInvalid||(this._fragment="#","#"==a[0]&&(a=a.slice(1)),g.call(this,a,"fragment"))}},a.URL=i}}(window),function(a){function b(a){for(var b=a||{},d=1;d<arguments.length;d++){var e=arguments[d];try{for(var f in e)c(f,e,b)}catch(g){}}return b}function c(a,b,c){var e=d(b,a);Object.defineProperty(c,a,e)}function d(a,b){if(a){var c=Object.getOwnPropertyDescriptor(a,b);return c||d(Object.getPrototypeOf(a),b)}}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=b}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;DOMTokenList.prototype.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a])},DOMTokenList.prototype.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a])},DOMTokenList.prototype.toggle=function(a,b){1==arguments.length&&(b=!this.contains(a)),b?this.add(a):this.remove(a)},DOMTokenList.prototype.switch=function(a,b){a&&this.remove(a),b&&this.add(b)};var e=function(){return Array.prototype.slice.call(this)},f=window.NamedNodeMap||window.MozNamedAttrMap||{};if(NodeList.prototype.array=e,f.prototype.array=e,HTMLCollection.prototype.array=e,!window.performance){var g=Date.now();window.performance={now:function(){return Date.now()-g}}}window.requestAnimationFrame||(window.requestAnimationFrame=function(){var a=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;return a?function(b){return a(function(){b(performance.now())})}:function(a){return window.setTimeout(a,1e3/60)}}()),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(){return window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(a){clearTimeout(a)}}());var h=[],i=function(){h.push(arguments)};window.Polymer=i,a.deliverDeclarations=function(){return a.deliverDeclarations=function(){throw"Possible attempt to load Polymer twice"},h},window.addEventListener("DOMContentLoaded",function(){window.Polymer===i&&(window.Polymer=function(){console.error('You tried to use polymer without loading it first. To load polymer, <link rel="import" href="components/polymer/polymer.html">')})}),a.createDOM=b}(window.Platform),window.templateContent=window.templateContent||function(a){return a.content},function(a){a=a||(window.Inspector={});var b;window.sinspect=function(a,d){b||(b=window.open("","ShadowDOM Inspector",null,!0),b.document.write(c),b.api={shadowize:shadowize}),f(a||wrap(document.body),d)};var c=["<!DOCTYPE html>","<html>"," <head>"," <title>ShadowDOM Inspector</title>"," <style>"," body {"," }"," pre {",' font: 9pt "Courier New", monospace;'," line-height: 1.5em;"," }"," tag {"," color: purple;"," }"," ul {"," margin: 0;"," padding: 0;"," list-style: none;"," }"," li {"," display: inline-block;"," background-color: #f1f1f1;"," padding: 4px 6px;"," border-radius: 4px;"," margin-right: 4px;"," }"," </style>"," </head>"," <body>",' <ul id="crumbs">'," </ul>",' <div id="tree"></div>'," </body>","</html>"].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="<pre>"+j(a,a.childNodes)+"</pre>"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="<br/>";var h=d+"&nbsp;&nbsp;";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="<tag>&lt;/"+e+"&gt;</tag>",f+="<br/>")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"<br/>':""}return f},k=[],l=function(a){var b="<tag>&lt;",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' <button idx="'+k.length+'" onclick="api.shadowize.call(this)">'+c+"</button>",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+="&gt;</tag>"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(){var a=document.createElement("style");a.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; } \n";var b=document.querySelector("head");b.insertBefore(a,b.firstChild)}(Platform),function(a){function b(a,b){return b=b||[],b.map||(b=[b]),a.apply(this,b.map(d))}function c(a,c,d){var e;switch(arguments.length){case 0:return;case 1:e=null;break;case 2:e=c.apply(this);break;default:e=b(d,c)}f[a]=e}function d(a){return f[a]}function e(a,c){HTMLImports.whenImportsReady(function(){b(c,a)})}var f={};a.marshal=d,a.module=c,a.using=e}(window),function(a){function b(a){f.textContent=d++,e.push(a)}function c(){for(;e.length;)e.shift()()}var d=0,e=[],f=document.createTextNode("");new(window.MutationObserver||JsMutationObserver)(c).observe(f,{characterData:!0}),a.endOfMicrotask=b}(Platform),function(a){function b(a,b,d){return a.replace(d,function(a,d,e,f){var g=e.replace(/["']/g,"");return g=c(b,g),d+"'"+g+"'"+f})}function c(a,b){var c=new URL(b,a);return d(c.href)}function d(a){var b=document.baseURI,c=new URL(a,b);return c.host===b.host&&c.port===b.port&&c.protocol===b.protocol?e(b.pathname,c.pathname):a}function e(a,b){for(var c=a.split("/"),d=b.split("/");c.length&&c[0]===d[0];)c.shift(),d.shift();for(var e=0,f=c.length-1;f>e;e++)d.unshift("..");return d.join("/")}var f={resolveDom:function(a,b){b=b||a.ownerDocument.baseURI,this.resolveAttributes(a,b),this.resolveStyles(a,b);var c=a.querySelectorAll("template");if(c)for(var d,e=0,f=c.length;f>e&&(d=c[e]);e++)d.content&&this.resolveDom(d.content,b)},resolveTemplate:function(a){this.resolveDom(a.content,a.ownerDocument.baseURI)},resolveStyles:function(a,b){var c=a.querySelectorAll("style");if(c)for(var d,e=0,f=c.length;f>e&&(d=c[e]);e++)this.resolveStyle(d,b)},resolveStyle:function(a,b){b=b||a.ownerDocument.baseURI,a.textContent=this.resolveCssText(a.textContent,b)},resolveCssText:function(a,c){return a=b(a,c,g),b(a,c,h)},resolveAttributes:function(a,b){a.hasAttributes&&a.hasAttributes()&&this.resolveElementAttributes(a,b);var c=a&&a.querySelectorAll(j);if(c)for(var d,e=0,f=c.length;f>e&&(d=c[e]);e++)this.resolveElementAttributes(d,b)},resolveElementAttributes:function(a,b){b=b||a.ownerDocument.baseURI,i.forEach(function(d){var e=a.attributes[d];if(e&&e.value&&e.value.search(k)<0){var f=c(b,e.value);e.value=f}})}},g=/(url\()([^)]*)(\))/g,h=/(@import[\s]+(?!url\())([^;]*)(;)/g,i=["href","src","action"],j="["+i.join("],[")+"]",k="{{.*}}";a.urlResolver=f}(Platform),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e<d.length;e++){var f=d[e],g=f.options;if(c===a||g.subtree){var h=b(g);h&&f.enqueue(h)}}}}function g(a){this.callback_=a,this.nodes_=[],this.records_=[],this.uid_=++v}function h(a,b){this.type=a,this.target=b,this.addedNodes=[],this.removedNodes=[],this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function i(a){var b=new h(a.type,a.target);return b.addedNodes=a.addedNodes.slice(),b.removedNodes=a.removedNodes.slice(),b.previousSibling=a.previousSibling,b.nextSibling=a.nextSibling,b.attributeName=a.attributeName,b.attributeNamespace=a.attributeNamespace,b.oldValue=a.oldValue,b}function j(a,b){return w=new h(a,b)}function k(a){return x?x:(x=i(w),x.oldValue=a,x)}function l(){w=x=void 0}function m(a){return a===x||a===w}function n(a,b){return a===b?a:x&&m(a)?x:null}function o(a,b,c){this.observer=a,this.target=b,this.options=c,this.transientObservedNodes=[]}var p=new WeakMap,q=window.msSetImmediate;if(!q){var r=[],s=String(Math.random());window.addEventListener("message",function(a){if(a.data===s){var b=r;r=[],b.forEach(function(a){a()})}}),q=function(a){r.push(a),window.postMessage(s,"*")}}var t=!1,u=[],v=0;g.prototype={observe:function(a,b){if(a=c(a),!b.childList&&!b.attributes&&!b.characterData||b.attributeOldValue&&!b.attributes||b.attributeFilter&&b.attributeFilter.length&&!b.attributes||b.characterDataOldValue&&!b.characterData)throw new SyntaxError;var d=p.get(a);d||p.set(a,d=[]);for(var e,f=0;f<d.length;f++)if(d[f].observer===this){e=d[f],e.removeListeners(),e.options=b;break}e||(e=new o(this,a,b),d.push(e),this.nodes_.push(a)),e.addListeners()},disconnect:function(){this.nodes_.forEach(function(a){for(var b=p.get(a),c=0;c<b.length;c++){var d=b[c];if(d.observer===this){d.removeListeners(),b.splice(c,1);break}}},this),this.records_=[]},takeRecords:function(){var a=this.records_;return this.records_=[],a}};var w,x;o.prototype={enqueue:function(a){var c=this.observer.records_,d=c.length;if(c.length>0){var e=c[d-1],f=n(e,a);if(f)return void(c[d-1]=f)}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c<b.length;c++)if(b[c]===this){b.splice(c,1);break}},this)},handleEvent:function(a){switch(a.stopImmediatePropagation(),a.type){case"DOMAttrModified":var b=a.attrName,c=a.relatedNode.namespaceURI,d=a.target,e=new j("attributes",d);e.attributeName=b,e.attributeNamespace=c;var g=a.attrChange===MutationEvent.ADDITION?null:a.prevValue;f(d,function(a){return!a.attributes||a.attributeFilter&&a.attributeFilter.length&&-1===a.attributeFilter.indexOf(b)&&-1===a.attributeFilter.indexOf(c)?void 0:a.attributeOldValue?k(g):e});break;case"DOMCharacterDataModified":var d=a.target,e=j("characterData",d),g=a.prevValue;f(d,function(a){return a.characterData?a.characterDataOldValue?k(g):e:void 0});break;case"DOMNodeRemoved":this.addTransientObserver(a.target);case"DOMNodeInserted":var h,i,d=a.relatedNode,m=a.target;"DOMNodeInserted"===a.type?(h=[m],i=[]):(h=[],i=[m]);var n=m.previousSibling,o=m.nextSibling,e=j("childList",d);e.addedNodes=h,e.removedNodes=i,e.previousSibling=n,e.nextSibling=o,f(d,function(a){return a.childList?e:void 0})}l()}},a.JsMutationObserver=g,a.MutationObserver||(a.MutationObserver=g)}(this),window.HTMLImports=window.HTMLImports||{flags:{}},function(a){var b=(a.path,a.xhr),c=a.flags,d=function(a,b){this.cache={},this.onload=a,this.oncomplete=b,this.inflight=0,this.pending={}};d.prototype={addNodes:function(a){this.inflight+=a.length;for(var b,c=0,d=a.length;d>c&&(b=a[c]);c++)this.require(b);this.checkDone()},addNode:function(a){this.inflight++,this.require(a),this.checkDone()},require:function(a){var b=a.src||a.href;a.__nodeUrl=b,this.dedupe(b,a)||this.fetch(b,a)},dedupe:function(a,b){if(this.pending[a])return this.pending[a].push(b),!0;return this.cache[a]?(this.onload(a,b,this.cache[a]),this.tail(),!0):(this.pending[a]=[b],!1)},fetch:function(a,d){if(c.load&&console.log("fetch",a,d),a.match(/^data:/)){var e=a.split(","),f=e[0],g=e[1];g=f.indexOf(";base64")>-1?atob(g):decodeURIComponent(g),setTimeout(function(){this.receive(a,d,null,g)}.bind(this),0)}else{var h=function(b,c){this.receive(a,d,b,c)}.bind(this);b.load(a,h)}},receive:function(a,b,c,d){this.cache[a]=d;for(var e,f=this.pending[a],g=0,h=f.length;h>g&&(e=f[g]);g++)this.onload(a,e,d),this.tail();this.pending[a]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},b=b||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(c,d,e){var f=new XMLHttpRequest;return(a.flags.debug||a.flags.bust)&&(c+="?"+Math.random()),f.open("GET",c,b.async),f.addEventListener("readystatechange",function(){4===f.readyState&&d.call(e,!b.ok(f)&&f,f.response||f.responseText,c)}),f.send(),f},loadDocument:function(a,b,c){this.load(a,b,c).responseType="document"}},a.xhr=b,a.Loader=d}(window.HTMLImports),function(a){function b(a){return"link"===a.localName&&a.rel===g}function c(a){var b,c=d(a);try{b=btoa(c)}catch(e){b=btoa(unescape(encodeURIComponent(c))),console.warn("Script contained non-latin characters that were forced to latin. Some characters may be wrong.",a)}return"data:text/javascript;base64,"+b}function d(a){return a.textContent+e(a)}function e(a){var b=a.__nodeUrl;if(!b){b=a.ownerDocument.baseURI;var c="["+Math.floor(1e3*(Math.random()+1))+"]",d=a.textContent.match(/Polymer\(['"]([^'"]*)/);c=d&&d[1]||c,b+="/"+c+".js"}return"\n//# sourceURL="+b+"\n"}function f(a){var b=a.ownerDocument.createElement("style");return b.textContent=a.textContent,n.resolveUrlsInStyle(b),b}var g="import",h=a.flags,i=/Trident/.test(navigator.userAgent),j=window.ShadowDOMPolyfill?window.ShadowDOMPolyfill.wrapIfNeeded(document):document,k={documentSelectors:"link[rel="+g+"]",importsSelectors:["link[rel="+g+"]","link[rel=stylesheet]","style","script:not([type])",'script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},parseNext:function(){var a=this.nextToParse();a&&this.parse(a)},parse:function(a){if(this.isParsed(a))return void(h.parse&&console.log("[%s] is already parsed",a.localName));var b=this[this.map[a.localName]];b&&(this.markParsing(a),b.call(this,a))},markParsing:function(a){h.parse&&console.log("parsing",a),this.parsingElement=a},markParsingComplete:function(a){a.__importParsed=!0,a.__importElement&&(a.__importElement.__importParsed=!0),this.parsingElement=null,h.parse&&console.log("completed",a),this.parseNext()},parseImport:function(a){if(a.import.__importParsed=!0,HTMLImports.__importsParsingHook&&HTMLImports.__importsParsingHook(a),a.dispatchEvent(a.__resource?new CustomEvent("load",{bubbles:!1}):new CustomEvent("error",{bubbles:!1})),a.__pending)for(var b;a.__pending.length;)b=a.__pending.shift(),b&&b({target:a});this.markParsingComplete(a)},parseLink:function(a){b(a)?this.parseImport(a):(a.href=a.href,this.parseGeneric(a))},parseStyle:function(a){var b=a;a=f(a),a.__importElement=b,this.parseGeneric(a)},parseGeneric:function(a){this.trackElement(a),document.head.appendChild(a)},trackElement:function(a,b){var c=this,d=function(d){b&&b(d),c.markParsingComplete(a)};if(a.addEventListener("load",d),a.addEventListener("error",d),i&&"style"===a.localName){var e=!1;if(-1==a.textContent.indexOf("@import"))e=!0;else if(a.sheet){e=!0;for(var f,g=a.sheet.cssRules,h=g?g.length:0,j=0;h>j&&(f=g[j]);j++)f.type===CSSRule.IMPORT_RULE&&(e=e&&Boolean(f.styleSheet))}e&&a.dispatchEvent(new CustomEvent("load",{bubbles:!1}))}},parseScript:function(b){var d=document.createElement("script");d.__importElement=b,d.src=b.src?b.src:c(b),a.currentScript=b,this.trackElement(d,function(){d.parentNode.removeChild(d),a.currentScript=null}),document.head.appendChild(d)},nextToParse:function(){return!this.parsingElement&&this.nextToParseInDoc(j)},nextToParseInDoc:function(a,c){for(var d,e=a.querySelectorAll(this.parseSelectorsForNode(a)),f=0,g=e.length;g>f&&(d=e[f]);f++)if(!this.isParsed(d))return this.hasResource(d)?b(d)?this.nextToParseInDoc(d.import,d):d:void 0;return c},parseSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===j?this.documentSelectors:this.importsSelectors},isParsed:function(a){return a.__importParsed},hasResource:function(a){return b(a)&&!a.import?!1:!0}},l=/(url\()([^)]*)(\))/g,m=/(@import[\s]+(?!url\())([^;]*)(;)/g,n={resolveUrlsInStyle:function(a){var b=a.ownerDocument,c=b.createElement("a");return a.textContent=this.resolveUrlsInCssText(a.textContent,c),a},resolveUrlsInCssText:function(a,b){var c=this.replaceUrls(a,b,l);return c=this.replaceUrls(c,b,m)},replaceUrls:function(a,b,c){return a.replace(c,function(a,c,d,e){var f=d.replace(/["']/g,"");return b.href=f,f=b.href,c+"'"+f+"'"+e})}};a.parser=k,a.path=n,a.isIE=i}(HTMLImports),function(a){function b(a){return c(a,m)}function c(a,b){return"link"===a.localName&&a.getAttribute("rel")===b}function d(a,b){var c=a;c instanceof Document||(c=document.implementation.createHTMLDocument(m)),c._URL=b;var d=c.createElement("base");d.setAttribute("href",b),c.baseURI||(c.baseURI=b);var e=c.createElement("meta");return e.setAttribute("charset","utf-8"),c.head.appendChild(e),c.head.appendChild(d),a instanceof Document||(c.body.innerHTML=a),window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(c),c}function e(a,b){b=b||n,g(function(){h(a,b)},b)}function f(a){return"complete"===a.readyState||a.readyState===u}function g(a,b){if(f(b))a&&a();else{var c=function(){("complete"===b.readyState||b.readyState===u)&&(b.removeEventListener(v,c),g(a,b))};b.addEventListener(v,c)}}function h(a,b){function c(){f==g&&requestAnimationFrame(a)}function d(){f++,c()}var e=b.querySelectorAll("link[rel=import]"),f=0,g=e.length;if(g)for(var h,j=0;g>j&&(h=e[j]);j++)i(h)?d.call(h):(h.addEventListener("load",d),h.addEventListener("error",d));else c()}function i(a){return k?a.import&&"loading"!==a.import.readyState:a.__importParsed}var j="import"in document.createElement("link"),k=j,l=a.flags,m="import",n=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrapIfNeeded(document):document;if(k)var o={};else var p=(a.xhr,a.Loader),q=a.parser,o={documents:{},documentPreloadSelectors:"link[rel="+m+"]",importsPreloadSelectors:["link[rel="+m+"]"].join(","),loadNode:function(a){r.addNode(a)},loadSubtree:function(a){var b=this.marshalNodes(a);r.addNodes(b)},marshalNodes:function(a){return a.querySelectorAll(this.loadSelectorsForNode(a))},loadSelectorsForNode:function(a){var b=a.ownerDocument||a;return b===n?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(a,c,e){if(l.load&&console.log("loaded",a,c),c.__resource=e,b(c)){var f=this.documents[a];f||(f=d(e,a),f.__importLink=c,this.bootDocument(f),this.documents[a]=f),c.import=f}q.parseNext()},bootDocument:function(a){this.loadSubtree(a),this.observe(a),q.parseNext()},loadedAll:function(){q.parseNext()}},r=new p(o.loaded.bind(o),o.loadedAll.bind(o));var s={get:function(){return HTMLImports.currentScript||document.currentScript},configurable:!0};if(Object.defineProperty(document,"_currentScript",s),Object.defineProperty(n,"_currentScript",s),!document.baseURI){var t={get:function(){return window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",t),Object.defineProperty(n,"baseURI",t)}var u=HTMLImports.isIE?"complete":"interactive",v="readystatechange";a.hasNative=j,a.useNative=k,a.importer=o,a.whenImportsReady=e,a.IMPORT_LINK_TYPE=m,a.isImportLoaded=i,a.importLoader=r}(window.HTMLImports),function(a){function b(a){for(var b,d=0,e=a.length;e>d&&(b=a[d]);d++)"childList"===b.type&&b.addedNodes.length&&c(b.addedNodes)}function c(a){for(var b,e=0,g=a.length;g>e&&(b=a[e]);e++)d(b)&&f.loadNode(b),b.children&&b.children.length&&c(b.children)}function d(a){return 1===a.nodeType&&g.call(a,f.loadSelectorsForNode(a))}function e(a){h.observe(a,{childList:!0,subtree:!0})}var f=(a.IMPORT_LINK_TYPE,a.importer),g=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector,h=new MutationObserver(b);a.observe=e,f.observe=e}(HTMLImports),function(){function a(){HTMLImports.importer.bootDocument(b)}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a,b){var c=document.createEvent("HTMLEvents");return c.initEvent(a,b.bubbles===!1?!1:!0,b.cancelable===!1?!1:!0,b.detail),c});var b=window.ShadowDOMPolyfill?window.ShadowDOMPolyfill.wrapIfNeeded(document):document;HTMLImports.whenImportsReady(function(){HTMLImports.ready=!0,HTMLImports.readyTime=(new Date).getTime(),b.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))}),HTMLImports.useNative||("complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?a():document.addEventListener("DOMContentLoaded",a))}(),window.CustomElements=window.CustomElements||{flags:{}},function(a){function b(a,c,d){var e=a.firstElementChild;if(!e)for(e=a.firstChild;e&&e.nodeType!==Node.ELEMENT_NODE;)e=e.nextSibling;for(;e;)c(e,d)!==!0&&b(e,c,d),e=e.nextElementSibling;return null}function c(a,b){for(var c=a.shadowRoot;c;)d(c,b),c=c.olderShadowRoot}function d(a,d){b(a,function(a){return d(a)?!0:void c(a,d)}),c(a,d)}function e(a){return h(a)?(i(a),!0):void l(a)}function f(a){d(a,function(a){return e(a)?!0:void 0})}function g(a){return e(a)||f(a)}function h(b){if(!b.__upgraded__&&b.nodeType===Node.ELEMENT_NODE){var c=b.getAttribute("is")||b.localName,d=a.registry[c];if(d)return A.dom&&console.group("upgrade:",b.localName),a.upgrade(b),A.dom&&console.groupEnd(),!0}}function i(a){l(a),r(a)&&d(a,function(a){l(a)})}function j(a){if(E.push(a),!D){D=!0;var b=window.Platform&&window.Platform.endOfMicrotask||setTimeout;b(k)}}function k(){D=!1;for(var a,b=E,c=0,d=b.length;d>c&&(a=b[c]);c++)a();E=[]}function l(a){C?j(function(){m(a)}):m(a)}function m(a){(a.attachedCallback||a.detachedCallback||a.__upgraded__&&A.dom)&&(A.dom&&console.group("inserted:",a.localName),r(a)&&(a.__inserted=(a.__inserted||0)+1,a.__inserted<1&&(a.__inserted=1),a.__inserted>1?A.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.attachedCallback&&(A.dom&&console.log("inserted:",a.localName),a.attachedCallback())),A.dom&&console.groupEnd())}function n(a){o(a),d(a,function(a){o(a)})}function o(a){C?j(function(){p(a)}):p(a)}function p(a){(a.attachedCallback||a.detachedCallback||a.__upgraded__&&A.dom)&&(A.dom&&console.group("removed:",a.localName),r(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?A.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.detachedCallback&&a.detachedCallback()),A.dom&&console.groupEnd())}function q(a){return window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrapIfNeeded(a):a}function r(a){for(var b=a,c=q(document);b;){if(b==c)return!0;b=b.parentNode||b.host}}function s(a){if(a.shadowRoot&&!a.shadowRoot.__watched){A.dom&&console.log("watching shadow-root for: ",a.localName);for(var b=a.shadowRoot;b;)t(b),b=b.olderShadowRoot}}function t(a){a.__watched||(w(a),a.__watched=!0)}function u(a){if(A.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(G(a.addedNodes,function(a){a.localName&&g(a)}),G(a.removedNodes,function(a){a.localName&&n(a)}))}),A.dom&&console.groupEnd()}function v(){u(F.takeRecords()),k()}function w(a){F.observe(a,{childList:!0,subtree:!0})}function x(a){w(a)}function y(a){A.dom&&console.group("upgradeDocument: ",a.baseURI.split("/").pop()),g(a),A.dom&&console.groupEnd()}function z(a){a=q(a);for(var b,c=a.querySelectorAll("link[rel="+B+"]"),d=0,e=c.length;e>d&&(b=c[d]);d++)b.import&&b.import.__parsed&&z(b.import);y(a)}var A=window.logFlags||{},B=window.HTMLImports?HTMLImports.IMPORT_LINK_TYPE:"none",C=!window.MutationObserver||window.MutationObserver===window.JsMutationObserver;a.hasPolyfillMutations=C;var D=!1,E=[],F=new MutationObserver(u),G=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.IMPORT_LINK_TYPE=B,a.watchShadow=s,a.upgradeDocumentTree=z,a.upgradeAll=g,a.upgradeSubtree=f,a.insertedNode=i,a.observeDocument=x,a.upgradeDocument=y,a.takeRecords=v}(window.CustomElements),function(a){function b(b,g){var h=g||{};if(!b)throw new Error("document.registerElement: first argument `name` must not be empty");if(b.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(b)+"'.");if(c(b))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(b)+"'. The type name is invalid.");if(n(b))throw new Error("DuplicateDefinitionError: a type with name '"+String(b)+"' is already registered");if(!h.prototype)throw new Error("Options missing required prototype property");return h.__name=b.toLowerCase(),h.lifecycle=h.lifecycle||{},h.ancestry=d(h.extends),e(h),f(h),l(h.prototype),o(h.__name,h),h.ctor=p(h),h.ctor.prototype=h.prototype,h.prototype.constructor=h.ctor,a.ready&&a.upgradeDocumentTree(document),h.ctor}function c(a){for(var b=0;b<y.length;b++)if(a===y[b])return!0}function d(a){var b=n(a);return b?d(b.extends).concat([b]):[]}function e(a){for(var b,c=a.extends,d=0;b=a.ancestry[d];d++)c=b.is&&b.tag;a.tag=c||a.__name,c&&(a.is=a.__name)}function f(a){if(!Object.__proto__){var b=HTMLElement.prototype;if(a.is){var c=document.createElement(a.tag);b=Object.getPrototypeOf(c)}for(var d,e=a.prototype;e&&e!==b;){var d=Object.getPrototypeOf(e);e.__proto__=d,e=d}}a.native=b}function g(a){return h(B(a.tag),a)}function h(b,c){return c.is&&b.setAttribute("is",c.is),b.removeAttribute("unresolved"),i(b,c),b.__upgraded__=!0,k(b),a.insertedNode(b),a.upgradeSubtree(b),b}function i(a,b){Object.__proto__?a.__proto__=b.prototype:(j(a,b.prototype,b.native),a.__proto__=b.prototype)}function j(a,b,c){for(var d={},e=b;e!==c&&e!==HTMLElement.prototype;){for(var f,g=Object.getOwnPropertyNames(e),h=0;f=g[h];h++)d[f]||(Object.defineProperty(a,f,Object.getOwnPropertyDescriptor(e,f)),d[f]=1);e=Object.getPrototypeOf(e)}}function k(a){a.createdCallback&&a.createdCallback()}function l(a){if(!a.setAttribute._polyfilled){var b=a.setAttribute;a.setAttribute=function(a,c){m.call(this,a,c,b)};var c=a.removeAttribute;a.removeAttribute=function(a){m.call(this,a,null,c)},a.setAttribute._polyfilled=!0}}function m(a,b,c){var d=this.getAttribute(a);c.apply(this,arguments);var e=this.getAttribute(a);this.attributeChangedCallback&&e!==d&&this.attributeChangedCallback(a,d,e)}function n(a){return a?z[a.toLowerCase()]:void 0}function o(a,b){z[a]=b}function p(a){return function(){return g(a)}}function q(a,b,c){return a===A?r(b,c):C(a,b)}function r(a,b){var c=n(b||a);if(c){if(a==c.tag&&b==c.is)return new c.ctor;if(!b&&!c.is)return new c.ctor}if(b){var d=r(a);return d.setAttribute("is",b),d}var d=B(a);return a.indexOf("-")>=0&&i(d,HTMLElement),d}function s(a){if(!a.__upgraded__&&a.nodeType===Node.ELEMENT_NODE){var b=a.getAttribute("is"),c=n(b||a.localName);if(c){if(b&&c.tag==a.localName)return h(a,c);if(!b&&!c.extends)return h(a,c)}}}function t(b){var c=D.call(this,b);return a.upgradeAll(c),c}a||(a=window.CustomElements={flags:{}});var u=a.flags,v=Boolean(document.registerElement),w=!u.register&&v&&!window.ShadowDOMPolyfill;if(w){var x=function(){};a.registry={},a.upgradeElement=x,a.watchShadow=x,a.upgrade=x,a.upgradeAll=x,a.upgradeSubtree=x,a.observeDocument=x,a.upgradeDocument=x,a.upgradeDocumentTree=x,a.takeRecords=x,a.reservedTagList=[]}else{var y=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],z={},A="http://www.w3.org/1999/xhtml",B=document.createElement.bind(document),C=document.createElementNS.bind(document),D=Node.prototype.cloneNode;document.registerElement=b,document.createElement=r,document.createElementNS=q,Node.prototype.cloneNode=t,a.registry=z,a.upgrade=s}var E;E=Object.__proto__||w?function(a,b){return a instanceof b}:function(a,b){for(var c=a;c;){if(c===b.prototype)return!0;c=c.__proto__}return!1},a.instanceof=E,a.reservedTagList=y,document.register=document.registerElement,a.hasNative=v,a.useNative=w}(window.CustomElements),function(a){function b(a){return"link"===a.localName&&a.getAttribute("rel")===c}var c=a.IMPORT_LINK_TYPE,d={selectors:["link[rel="+c+"]"],map:{link:"parseLink"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(d.selectors);e(b,function(a){d[d.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(a){b(a)&&this.parseImport(a)},parseImport:function(a){a.import&&d.parse(a.import)}},e=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=d,a.IMPORT_LINK_TYPE=c}(window.CustomElements),function(a){function b(){CustomElements.parser.parse(document),CustomElements.upgradeDocument(document);var a=window.Platform&&Platform.endOfMicrotask?Platform.endOfMicrotask:setTimeout;a(function(){CustomElements.ready=!0,CustomElements.readyTime=Date.now(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0})),window.HTMLImports&&(HTMLImports.__importsParsingHook=function(a){CustomElements.parser.parse(a.import)})})}if("function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||a.flags.eager)b();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var c=window.HTMLImports&&!HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(c,b)}else b()}(window.CustomElements),function(){if(window.ShadowDOMPolyfill){var a=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],b={};a.forEach(function(a){b[a]=CustomElements[a]}),a.forEach(function(a){CustomElements[a]=function(c){return b[a](wrap(c))}})}}(),function(a){function b(a){this.regex=a}var c=a.endOfMicrotask;b.prototype={extractUrls:function(a,b){for(var c,d,e=[];c=this.regex.exec(a);)d=new URL(c[1],b),e.push({matched:c[0],url:d.href});return e},process:function(a,b,c){var d=this.extractUrls(a,b);this.fetch(d,{},c)},fetch:function(a,b,d){var e=a.length;if(!e)return d(b);for(var f,g,h,i=function(){0===--e&&d(b)},j=function(a,c){var d=c.match,e=d.url;if(a)return b[e]="",i();
+var f=c.response||c.responseText;b[e]=f,this.fetch(this.extractUrls(f,e),b,i)},k=0;e>k;k++)f=a[k],h=f.url,b[h]?c(i):(g=this.xhr(h,j,this),g.match=f,b[h]=g)},xhr:function(a,b,c){var d=new XMLHttpRequest;return d.open("GET",a,!0),d.send(),d.onload=function(){b.call(c,null,d)},d.onerror=function(){b.call(c,null,d)},d}},a.Loader=b}(window.Platform),function(a){function b(){this.loader=new d(this.regex)}var c=a.urlResolver,d=a.Loader;b.prototype={regex:/@import\s+(?:url)?["'\(]*([^'"\)]*)['"\)]*;/g,resolve:function(a,b,c){var d=function(d){c(this.flatten(a,b,d))}.bind(this);this.loader.process(a,b,d)},resolveNode:function(a,b){var c=a.textContent,d=a.ownerDocument.baseURI,e=function(c){a.textContent=c,b(a)};this.resolve(c,d,e)},flatten:function(a,b,d){for(var e,f,g,h=this.loader.extractUrls(a,b),i=0;i<h.length;i++)e=h[i],f=e.url,g=c.resolveCssText(d[f],f),g=this.flatten(g,f,d),a=a.replace(e.matched,g);return a},loadStyles:function(a,b){function c(){e++,e===f&&b&&b()}for(var d,e=0,f=a.length,g=0;f>g&&(d=a[g]);g++)this.resolveNode(d,c)}};var e=new b;a.styleResolver=e}(window.Platform),function(a){a=a||{},a.external=a.external||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d}e=this.olderShadow(e)}return f}},owner:function(a){for(var b=a;b.parentNode;)b=b.parentNode;return b.nodeType!=Node.DOCUMENT_NODE&&b.nodeType!=Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return"body /shadow-deep/ "+b(a)}function b(a){return'[touch-action="'+a+'"]'}function c(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; touch-action-delay: none; }"}var d=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],e="",f=(document.head,window.PointerEvent||window.MSPointerEvent),g=!window.ShadowDOMPolyfill&&document.head.createShadowRoot;if(f){d.forEach(function(d){String(d)===d?(e+=b(d)+c(d)+"\n",g&&(e+=a(d)+c(d)+"\n")):(e+=d.selectors.map(b)+c(d.rule)+"\n",g&&(e+=d.selectors.map(a)+c(d.rule)+"\n"))});var h=document.createElement("style");h.textContent=e,document.head.appendChild(h)}}(),function(a){function b(a,b){b=b||Object.create(null);var e=document.createEvent("Event");e.initEvent(a,b.bubbles||!1,b.cancelable||!1);for(var f,g=0;g<c.length;g++)f=c[g],e[f]=b[f]||d[g];e.buttons=b.buttons||0;var h=0;return h=b.pressure?b.pressure:e.buttons?.5:0,e.x=e.clientX,e.y=e.clientY,e.pointerId=b.pointerId||0,e.width=b.width||0,e.height=b.height||0,e.pressure=h,e.tiltX=b.tiltX||0,e.tiltY=b.tiltY||0,e.pointerType=b.pointerType||"",e.hwTimestamp=b.hwTimestamp||0,e.isPrimary=b.isPrimary||!1,e}var c=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],d=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0];a.PointerEvent||(a.PointerEvent=b)}(window),function(a){function b(){if(c){var a=new Map;return a.pointers=d,a}this.keys=[],this.values=[]}var c=window.Map&&window.Map.prototype.forEach,d=function(){return this.size};b.prototype={set:function(a,b){var c=this.keys.indexOf(a);c>-1?this.values[c]=b:(this.keys.push(a),this.values.push(b))},has:function(a){return this.keys.indexOf(a)>-1},"delete":function(a){var b=this.keys.indexOf(a);b>-1&&(this.keys.splice(b,1),this.values.splice(b,1))},get:function(a){var b=this.keys.indexOf(a);return this.values[b]},clear:function(){this.keys.length=0,this.values.length=0},forEach:function(a,b){this.values.forEach(function(c,d){a.call(b,c,this.keys[d],this)},this)},pointers:function(){return this.keys.length}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY"],c=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0],d="undefined"!=typeof SVGElementInstance,e={pointermap:new a.PointerMap,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;c>d&&(b=this.eventSourceList[d]);d++)b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;c>d&&(b=this.eventSourceList[d]);d++)b.unregister.call(b,a)},contains:a.external.contains||function(a,b){return a.contains(b)},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.contains(a.target,a.relatedTarget)||this.leave(a)},enterOver:function(a){this.over(a),this.contains(a.target,a.relatedTarget)||this.enter(a)},eventHandler:function(a){if(!a._handledByPE){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),a._handledByPE=!0}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:a.external.addEvent||function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:a.external.removeEvent||function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(a,b){this.captureInfo[b.pointerId]&&(b.relatedTarget=null);var c=new PointerEvent(a,b);return b.preventDefault&&(c.preventDefault=b.preventDefault),c._target=c._target||b.target,c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var e,f=Object.create(null),g=0;g<b.length;g++)e=b[g],f[e]=a[e]||c[g],!d||"target"!==e&&"relatedTarget"!==e||f[e]instanceof SVGElementInstance&&(f[e]=f[e].correspondingUseElement);return a.preventDefault&&(f.preventDefault=function(){a.preventDefault()}),f},getTarget:function(a){return this.captureInfo[a.pointerId]||a._target},setCapture:function(a,b){this.captureInfo[a]&&this.releaseCapture(a),this.captureInfo[a]=b;var c=document.createEvent("Event");c.initEvent("gotpointercapture",!0,!1),c.pointerId=a,this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),c._target=b,this.asyncDispatchEvent(c)},releaseCapture:function(a){var b=this.captureInfo[a];if(b){var c=document.createEvent("Event");c.initEvent("lostpointercapture",!0,!1),c.pointerId=a,this.captureInfo[a]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),c._target=b,this.asyncDispatchEvent(c)}},dispatchEvent:a.external.dispatchEvent||function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){requestAnimationFrame(this.dispatchEvent.bind(this,a))}};e.boundHandler=e.eventHandler.bind(e),a.dispatcher=e,a.register=e.register.bind(e),a.unregister=e.unregister.bind(e)}(window.PointerEventsPolyfill),function(a){function b(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),g&&(this.observer=new g(this.mutationWatcher.bind(this)))}var c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e=Array.prototype.slice.call.bind(Array.prototype.slice),f=Array.prototype.filter.call.bind(Array.prototype.filter),g=window.MutationObserver||window.WebKitMutationObserver,h="[touch-action]",i={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};b.prototype={watchSubtree:function(b){a.targetFinding.canTarget(b)&&this.observer.observe(b,i)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(h):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(e(b))},installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(f(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}},g||(b.prototype.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}),a.Installer=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d=25,e=[0,1,4,2],f=!1;try{f=1===new MouseEvent("test",{buttons:1}).buttons}catch(g){}var h={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){b.listen(a,this.events)},unregister:function(a){b.unlisten(a,this.events)},lastTouches:[],isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,e=a.clientX,f=a.clientY,g=0,h=c.length;h>g&&(b=c[g]);g++){var i=Math.abs(e-b.x),j=Math.abs(f-b.y);if(d>=i&&d>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a),d=c.preventDefault;return c.preventDefault=function(){a.preventDefault(),d()},c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,f||(c.buttons=e[c.which]||0),c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.has(this.POINTER_ID);d&&this.cancel(a);var e=this.prepareEvent(a);c.set(this.POINTER_ID,a),b.down(e)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var d=c.get(this.POINTER_ID);if(d&&d.button===a.button){var e=this.prepareEvent(a);b.up(e),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){c["delete"](this.POINTER_ID)}};a.mouseEvents=h}(window.PointerEventsPolyfill),function(a){var b,c=a.dispatcher,d=c.captureInfo,e=a.findTarget,f=a.targetFinding.allShadows.bind(a.targetFinding),g=c.pointermap,h=(Array.prototype.map.call.bind(Array.prototype.map),2500),i=200,j="touch-action",k=!1,l={events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){k?c.listen(a,this.events):b.enableOnSubtree(a)},unregister:function(a){k&&c.unlisten(a,this.events)},elementAdded:function(a){var b=a.getAttribute(j),d=this.touchActionToScrollType(b);d&&(a._scrollType=d,c.listen(a,this.events),f(a).forEach(function(a){a._scrollType=d,c.listen(a,this.events)},this))},elementRemoved:function(a){a._scrollType=void 0,c.unlisten(a,this.events),f(a).forEach(function(a){a._scrollType=void 0,c.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(j),d=this.touchActionToScrollType(c),e=this.touchActionToScrollType(b);d&&e?(a._scrollType=d,f(a).forEach(function(a){a._scrollType=d},this)):e?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){(0===g.pointers()||1===g.pointers()&&g.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,i)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return("touchstart"===a||"touchmove"===a)&&(b=1),b},touchToPointer:function(a){var b=this.currentTouchEvent,f=c.cloneEvent(a),g=f.pointerId=a.identifier+2;f.target=d[g]||e(f),f.bubbles=!0,f.cancelable=!0,f.detail=this.clickCount,f.button=0,f.buttons=this.typeToButtons(b.type),f.width=a.webkitRadiusX||a.radiusX||0,f.height=a.webkitRadiusY||a.radiusY||0,f.pressure=a.webkitForce||a.force||.5,f.isPrimary=this.isPrimaryTouch(a),f.pointerType=this.POINTER_TYPE;var h=this;return f.preventDefault=function(){h.scrolling=!1,h.firstXY=null,b.preventDefault()},f},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a;for(var d,e=0;e<c.length;e++)d=c[e],b.call(this,this.touchToPointer(d))},shouldScroll:function(a){if(this.firstXY){var b,c=a.currentTarget._scrollType;if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(g.pointers()>=b.length){var c=[];g.forEach(function(a,d){if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(e)}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){g.set(a.pointerId,{target:a.target,out:a,outTarget:a.target});c.over(a),c.enter(a),c.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,d=g.get(b.pointerId);if(d){var e=d.out,f=d.outTarget;c.move(b),e&&f!==b.target&&(e.relatedTarget=b.target,b.relatedTarget=f,e.target=f,b.target?(c.leaveOut(e),c.enterOver(b)):(b.target=f,b.relatedTarget=null,this.cancelOut(b))),d.out=b,d.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(c.up(a),c.out(a),c.leave(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){c.cancel(a),c.out(a),c.leave(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){g["delete"](a.pointerId),this.removePrimaryPointer(a)},dedupSynthMouse:function(b){var c=a.mouseEvents.lastTouches,d=b.changedTouches[0];if(this.isPrimaryTouch(d)){var e={x:d.clientX,y:d.clientY};c.push(e);var f=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,c,e);setTimeout(f,h)}}};k||(b=new a.Installer(l.elementAdded,l.elementRemoved,l.elementChanged,l)),a.touchEvents=l}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,e={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){b.listen(a,this.events)},unregister:function(a){b.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=a;return d&&(c=b.cloneEvent(a),c.pointerType=this.POINTER_TYPES[a.pointerType]),c},cleanup:function(a){c["delete"](a)},MSPointerDown:function(a){c.set(a.pointerId,a);var d=this.prepareEvent(a);b.down(d)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};a.msEvents=e}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher;if(window.PointerEvent!==a.PointerEvent){if(window.navigator.msPointerEnabled){var c=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:c,enumerable:!0}),b.registerSource("ms",a.msEvents)}else b.registerSource("mouse",a.mouseEvents),void 0!==window.ontouchstart&&b.registerSource("touch",a.touchEvents);b.register(document)}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){function b(){if(c){var a=new Map;return a.pointers=d,a}this.keys=[],this.values=[]}var c=window.Map&&window.Map.prototype.forEach,d=function(){return this.size};b.prototype={set:function(a,b){var c=this.keys.indexOf(a);c>-1?this.values[c]=b:(this.keys.push(a),this.values.push(b))},has:function(a){return this.keys.indexOf(a)>-1},"delete":function(a){var b=this.keys.indexOf(a);b>-1&&(this.keys.splice(b,1),this.values.splice(b,1))},get:function(a){var b=this.keys.indexOf(a);return this.values[b]},clear:function(){this.keys.length=0,this.values.length=0},forEach:function(a,b){this.values.forEach(function(c,d){a.call(b,c,this.keys[d],this)},this)},pointers:function(){return this.keys.length}},a.PointerMap=b}(window.PointerGestures),function(a){var b=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","screenX","screenY","pageX","pageY","tapPrevented"],c=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],d={handledEvents:new WeakMap,targets:new WeakMap,handlers:{},recognizers:{},events:{},registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,c.events.forEach(function(a){if(c[a]){this.events[a]=!0;var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(Object.keys(this.events),a)},unregisterTarget:function(a){this.unlisten(Object.keys(this.events),a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.handlers[b];c&&this.makeQueue(c,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);requestAnimationFrame(this.runQueue.bind(this,a,c))},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){for(var d,e={},f=0;f<b.length;f++)d=b[f],e[d]=a[d]||c[f];return e},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){requestAnimationFrame(this.dispatchEvent.bind(this,a,b))},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};d.boundHandler=d.eventHandler.bind(d),d.registerQueue=[],d.immediateRegister=!1,a.dispatcher=d,a.register=function(b){if(d.immediateRegister){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)}else d.registerQueue.push(b)},a.register(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType,clientX:this.heldPointer.clientX,clientY:this.heldPointer.clientY};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,relatedTarget:c.target,pointerType:c.pointerType},i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d=180/Math.PI,e={events:["pointerdown","pointermove","pointerup","pointercancel"],reference:{},pointerdown:function(b){if(c.set(b.pointerId,b),2==c.pointers()){var d=this.calcChord(),e=this.calcAngle(d);this.reference={angle:e,diameter:d.diameter,target:a.findLCA(d.a.target,d.b.target)}}},pointerup:function(a){c.delete(a.pointerId)},pointermove:function(a){c.has(a.pointerId)&&(c.set(a.pointerId,a),c.pointers()>1&&this.calcPinchRotate())},pointercancel:function(a){this.pointerup(a)},dispatchPinch:function(a,c){var d=a/this.reference.diameter,e=b.makeEvent("pinch",{scale:d,centerX:c.center.x,centerY:c.center.y});b.dispatchEvent(e,this.reference.target)},dispatchRotate:function(a,c){var d=Math.round((a-this.reference.angle)%360),e=b.makeEvent("rotate",{angle:d,centerX:c.center.x,centerY:c.center.y});b.dispatchEvent(e,this.reference.target)},calcPinchRotate:function(){var a=this.calcChord(),b=a.diameter,c=this.calcAngle(a);b!=this.reference.diameter&&this.dispatchPinch(b,a),c!=this.reference.angle&&this.dispatchRotate(c,a)},calcChord:function(){var a=[];c.forEach(function(b){a.push(b)});for(var b,d,e,f=0,g={a:a[0],b:a[1]},h=0;h<a.length;h++)for(var i=a[h],j=h+1;j<a.length;j++){var k=a[j];b=Math.abs(i.clientX-k.clientX),d=Math.abs(i.clientY-k.clientY),e=b+d,e>f&&(f=e,g={a:i,b:k})}return b=Math.abs(g.a.clientX+g.b.clientX)/2,d=Math.abs(g.a.clientY+g.b.clientY)/2,g.center={x:b,y:d},g.diameter=f,g},calcAngle:function(a){var b=a.a.clientX-a.b.clientX,c=a.a.clientY-a.b.clientY;return(360+Math.atan2(c,b)*d)%360}};b.registerRecognizer("pinch",e)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel","keyup"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,buttons:a.buttons,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},shouldTap:function(a,b){return a.tapPrevented?void 0:"mouse"===a.pointerType?1===b.buttons:!0},pointerup:function(d){var e=c.get(d.pointerId);if(e&&this.shouldTap(d,e)){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,detail:d.detail,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},keyup:function(a){var c=a.keyCode;if(32===c){var d=a.target;d instanceof HTMLInputElement||d instanceof HTMLTextAreaElement||b.dispatchEvent(b.makeEvent("tap",{x:0,y:0,detail:0,pointerType:"unavailable"}),d)}},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(a){function b(){c.immediateRegister=!0;var b=c.registerQueue;b.forEach(a.register),b.length=0}var c=a.dispatcher;"complete"===document.readyState?b():document.addEventListener("readystatechange",function(){"complete"===document.readyState&&b()})}(window.PointerGestures),function(){"use strict";function a(a){for(;a.parentNode;)a=a.parentNode;return"function"==typeof a.getElementById?a:null}function b(a,b,c){var d=a.bindings_;return d||(d=a.bindings_={}),d[b]&&c[b].close(),d[b]=c}function c(a,b,c){return c}function d(a){return null==a?"":a}function e(a,b){a.data=d(b)}function f(a){return function(b){return e(a,b)}}function g(a,b,c,e){return c?void(e?a.setAttribute(b,""):a.removeAttribute(b)):void a.setAttribute(b,d(e))}function h(a,b,c){return function(d){g(a,b,c,d)}}function i(a){switch(a.type){case"checkbox":return u;case"radio":case"select-multiple":case"select-one":return"change";case"range":if(/Trident|MSIE/.test(navigator.userAgent))return"change";default:return"input"}}function j(a,b,c,e){a[b]=(e||d)(c)}function k(a,b,c){return function(d){return j(a,b,d,c)}}function l(){}function m(a,b,c,d){function e(){c.setValue(a[b]),c.discardChanges(),(d||l)(a),Platform.performMicrotaskCheckpoint()}var f=i(a);return a.addEventListener(f,e),{close:function(){a.removeEventListener(f,e),c.close()},observable_:c}}function n(a){return Boolean(a)}function o(b){if(b.form)return s(b.form.elements,function(a){return a!=b&&"INPUT"==a.tagName&&"radio"==a.type&&a.name==b.name});var c=a(b);if(!c)return[];var d=c.querySelectorAll('input[type="radio"][name="'+b.name+'"]');return s(d,function(a){return a!=b&&!a.form})}function p(a){"INPUT"===a.tagName&&"radio"===a.type&&o(a).forEach(function(a){var b=a.bindings_.checked;b&&b.observable_.setValue(!1)})}function q(a,b){var c,e,f,g=a.parentNode;g instanceof HTMLSelectElement&&g.bindings_&&g.bindings_.value&&(c=g,e=c.bindings_.value,f=c.value),a.value=d(b),c&&c.value!=f&&(e.observable_.setValue(c.value),e.observable_.discardChanges(),Platform.performMicrotaskCheckpoint())}function r(a){return function(b){q(a,b)}}var s=Array.prototype.filter.call.bind(Array.prototype.filter);Node.prototype.bind=function(a,b){console.error("Unhandled binding to Node: ",this,a,b)};var t=c;Object.defineProperty(Platform,"enableBindingsReflection",{get:function(){return t===b},set:function(a){return t=a?b:c,a},configurable:!0}),Text.prototype.bind=function(a,b,c){if("textContent"!==a)return Node.prototype.bind.call(this,a,b,c);if(c)return e(this,b);
+var d=b;return e(this,d.open(f(this))),t(this,a,d)},Element.prototype.bind=function(a,b,c){var d="?"==a[a.length-1];if(d&&(this.removeAttribute(a),a=a.slice(0,-1)),c)return g(this,a,d,b);var e=b;return g(this,a,d,e.open(h(this,a,d))),t(this,a,e)};var u;!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),u=1==d?"change":c}(),HTMLInputElement.prototype.bind=function(a,c,e){if("value"!==a&&"checked"!==a)return HTMLElement.prototype.bind.call(this,a,c,e);this.removeAttribute(a);var f="checked"==a?n:d,g="checked"==a?p:l;if(e)return j(this,a,c,f);var h=c,i=m(this,a,h,g);return j(this,a,h.open(k(this,a,f)),f),b(this,a,i)},HTMLTextAreaElement.prototype.bind=function(a,b,c){if("value"!==a)return HTMLElement.prototype.bind.call(this,a,b,c);if(this.removeAttribute("value"),c)return j(this,"value",b);var e=b,f=m(this,"value",e);return j(this,"value",e.open(k(this,"value",d))),t(this,a,f)},HTMLOptionElement.prototype.bind=function(a,b,c){if("value"!==a)return HTMLElement.prototype.bind.call(this,a,b,c);if(this.removeAttribute("value"),c)return q(this,b);var d=b,e=m(this,"value",d);return q(this,d.open(r(this))),t(this,a,e)},HTMLSelectElement.prototype.bind=function(a,c,d){if("selectedindex"===a&&(a="selectedIndex"),"selectedIndex"!==a&&"value"!==a)return HTMLElement.prototype.bind.call(this,a,c,d);if(this.removeAttribute(a),d)return j(this,a,c);var e=c,f=m(this,a,e);return j(this,a,e.open(k(this,a))),b(this,a,f)}}(this),function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a){for(var b;b=a.parentNode;)a=b;return a}function d(a,b){if(b){for(var d,e="#"+b;!d&&(a=c(a),a.protoContent_?d=a.protoContent_.querySelector(e):a.getElementById&&(d=a.getElementById(b)),!d&&a.templateCreator_);)a=a.templateCreator_;return d}}function e(a){return"template"==a.tagName&&"http://www.w3.org/2000/svg"==a.namespaceURI}function f(a){return"TEMPLATE"==a.tagName&&"http://www.w3.org/1999/xhtml"==a.namespaceURI}function g(a){return Boolean(J[a.tagName]&&a.hasAttribute("template"))}function h(a){return void 0===a.isTemplate_&&(a.isTemplate_="TEMPLATE"==a.tagName||g(a)),a.isTemplate_}function i(a,b){var c=a.querySelectorAll(L);h(a)&&b(a),E(c,b)}function j(a){function b(a){HTMLTemplateElement.decorate(a)||j(a.content)}i(a,b)}function k(a,b){Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))})}function l(a){var b=a.ownerDocument;if(!b.defaultView)return b;var c=b.templateContentsOwner_;if(!c){for(c=b.implementation.createHTMLDocument("");c.lastChild;)c.removeChild(c.lastChild);b.templateContentsOwner_=c}return c}function m(a){if(!a.stagingDocument_){var b=a.ownerDocument;if(!b.stagingDocument_){b.stagingDocument_=b.implementation.createHTMLDocument("");var c=b.stagingDocument_.createElement("base");c.href=document.baseURI,b.stagingDocument_.head.appendChild(c),b.stagingDocument_.stagingDocument_=b.stagingDocument_}a.stagingDocument_=b.stagingDocument_}return a.stagingDocument_}function n(a){var b=a.ownerDocument.createElement("template");a.parentNode.insertBefore(b,a);for(var c=a.attributes,d=c.length;d-->0;){var e=c[d];I[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function o(a){var b=a.ownerDocument.createElement("template");a.parentNode.insertBefore(b,a);for(var c=a.attributes,d=c.length;d-->0;){var e=c[d];b.setAttribute(e.name,e.value),a.removeAttribute(e.name)}return a.parentNode.removeChild(a),b}function p(a,b,c){var d=a.content;if(c)return void d.appendChild(b);for(var e;e=b.firstChild;)d.appendChild(e)}function q(a){N?a.__proto__=HTMLTemplateElement.prototype:k(a,HTMLTemplateElement.prototype)}function r(a){a.setModelFn_||(a.setModelFn_=function(){a.setModelFnScheduled_=!1;var b=z(a,a.delegate_&&a.delegate_.prepareBinding);w(a,b,a.model_)}),a.setModelFnScheduled_||(a.setModelFnScheduled_=!0,Observer.runEOM_(a.setModelFn_))}function s(a,b,c,d){if(a&&a.length){for(var e,f=a.length,g=0,h=0,i=0,j=!0;f>h;){var g=a.indexOf("{{",h),k=a.indexOf("[[",h),l=!1,m="}}";if(k>=0&&(0>g||g>k)&&(g=k,l=!0,m="]]"),i=0>g?-1:a.indexOf(m,g+2),0>i){if(!e)return;e.push(a.slice(h));break}e=e||[],e.push(a.slice(h,g));var n=a.slice(g+2,i).trim();e.push(l),j=j&&l;var o=d&&d(n,b,c);e.push(null==o?Path.get(n):null),e.push(o),h=i+2}return h===f&&e.push(""),e.hasOnePath=5===e.length,e.isSimplePath=e.hasOnePath&&""==e[0]&&""==e[4],e.onlyOneTime=j,e.combinator=function(a){for(var b=e[0],c=1;c<e.length;c+=4){var d=e.hasOnePath?a:a[(c-1)/4];void 0!==d&&(b+=d),b+=e[c+3]}return b},e}}function t(a,b,c,d){if(b.hasOnePath){var e=b[3],f=e?e(d,c,!0):b[2].getValueFrom(d);return b.isSimplePath?f:b.combinator(f)}for(var g=[],h=1;h<b.length;h+=4){var e=b[h+2];g[(h-1)/4]=e?e(d,c):b[h+1].getValueFrom(d)}return b.combinator(g)}function u(a,b,c,d){var e=b[3],f=e?e(d,c,!1):new PathObserver(d,b[2]);return b.isSimplePath?f:new ObserverTransform(f,b.combinator)}function v(a,b,c,d){if(b.onlyOneTime)return t(a,b,c,d);if(b.hasOnePath)return u(a,b,c,d);for(var e=new CompoundObserver,f=1;f<b.length;f+=4){var g=b[f],h=b[f+2];if(h){var i=h(d,c,g);g?e.addPath(i):e.addObserver(i)}else{var j=b[f+1];g?e.addPath(j.getValueFrom(d)):e.addPath(d,j)}}return new ObserverTransform(e,b.combinator)}function w(a,b,c,d){for(var e=0;e<b.length;e+=2){var f=b[e],g=b[e+1],h=v(f,g,a,c),i=a.bind(f,h,g.onlyOneTime);i&&d&&d.push(i)}if(b.isTemplate){a.model_=c;var j=a.processBindingDirectives_(b);d&&j&&d.push(j)}}function x(a,b,c){var d=a.getAttribute(b);return s(""==d?"{{}}":d,b,a,c)}function y(a,c){b(a);for(var d=[],e=0;e<a.attributes.length;e++){for(var f=a.attributes[e],g=f.name,i=f.value;"_"===g[0];)g=g.substring(1);if(!h(a)||g!==H&&g!==F&&g!==G){var j=s(i,g,a,c);j&&d.push(g,j)}}return h(a)&&(d.isTemplate=!0,d.if=x(a,H,c),d.bind=x(a,F,c),d.repeat=x(a,G,c),!d.if||d.bind||d.repeat||(d.bind=s("{{}}",F,a,c))),d}function z(a,b){if(a.nodeType===Node.ELEMENT_NODE)return y(a,b);if(a.nodeType===Node.TEXT_NODE){var c=s(a.data,"textContent",a,b);if(c)return["textContent",c]}return[]}function A(a,b,c,d,e,f,g){for(var h=b.appendChild(c.importNode(a,!1)),i=0,j=a.firstChild;j;j=j.nextSibling)A(j,h,c,d.children[i++],e,f,g);return d.isTemplate&&(HTMLTemplateElement.decorate(h,a),f&&h.setDelegate_(f)),w(h,d,e,g),h}function B(a,b){var c=z(a,b);c.children={};for(var d=0,e=a.firstChild;e;e=e.nextSibling)c.children[d++]=B(e,b);return c}function C(a){this.closed=!1,this.templateElement_=a,this.instances=[],this.deps=void 0,this.iteratedValue=[],this.presentValue=void 0,this.arrayObserver=void 0}var D,E=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.Map&&"function"==typeof a.Map.prototype.forEach?D=a.Map:(D=function(){this.keys=[],this.values=[]},D.prototype={set:function(a,b){var c=this.keys.indexOf(a);0>c?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);if(!(0>b))return this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c<this.keys.length;c++)a.call(b||this,this.values[c],this.keys[c],this)}});"function"!=typeof document.contains&&(Document.prototype.contains=function(a){return a===this||a.parentNode===this?!0:this.documentElement.contains(a)});var F="bind",G="repeat",H="if",I={template:!0,repeat:!0,bind:!0,ref:!0},J={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},K="undefined"!=typeof HTMLTemplateElement;K&&!function(){var a=document.createElement("template"),b=a.content.ownerDocument,c=b.appendChild(b.createElement("html")),d=c.appendChild(b.createElement("head")),e=b.createElement("base");e.href=document.baseURI,d.appendChild(e)}();var L="template, "+Object.keys(J).map(function(a){return a.toLowerCase()+"[template]"}).join(", ");document.addEventListener("DOMContentLoaded",function(){j(document),Platform.performMicrotaskCheckpoint()},!1),K||(a.HTMLTemplateElement=function(){throw TypeError("Illegal constructor")});var M,N="__proto__"in{};"function"==typeof MutationObserver&&(M=new MutationObserver(function(a){for(var b=0;b<a.length;b++)a[b].target.refChanged_()})),HTMLTemplateElement.decorate=function(a,c){if(a.templateIsDecorated_)return!1;var d=a;d.templateIsDecorated_=!0;var h=f(d)&&K,i=h,k=!h,m=!1;if(h||(g(d)?(b(!c),d=n(a),d.templateIsDecorated_=!0,h=K,m=!0):e(d)&&(d=o(a),d.templateIsDecorated_=!0,h=K)),!h){q(d);var r=l(d);d.content_=r.createDocumentFragment()}return c?d.instanceRef_=c:k?p(d,a,m):i&&j(d.content),!0},HTMLTemplateElement.bootstrap=j;var O=a.HTMLUnknownElement||HTMLElement,P={get:function(){return this.content_},enumerable:!0,configurable:!0};K||(HTMLTemplateElement.prototype=Object.create(O.prototype),Object.defineProperty(HTMLTemplateElement.prototype,"content",P)),k(HTMLTemplateElement.prototype,{bind:function(a,b,c){if("ref"!=a)return Element.prototype.bind.call(this,a,b,c);var d=this,e=c?b:b.open(function(a){d.setAttribute("ref",a),d.refChanged_()});return this.setAttribute("ref",e),this.refChanged_(),c?void 0:(this.bindings_?this.bindings_.ref=b:this.bindings_={ref:b},b)},processBindingDirectives_:function(a){return this.iterator_&&this.iterator_.closeDeps(),a.if||a.bind||a.repeat?(this.iterator_||(this.iterator_=new C(this)),this.iterator_.updateDependencies(a,this.model_),M&&M.observe(this,{attributes:!0,attributeFilter:["ref"]}),this.iterator_):void(this.iterator_&&(this.iterator_.close(),this.iterator_=void 0))},createInstance:function(a,b,c){b&&(c=this.newDelegate_(b)),this.refContent_||(this.refContent_=this.ref_.content);var d=this.refContent_;if(null===d.firstChild)return Q;var e=this.bindingMap_;e&&e.content===d||(e=B(d,c&&c.prepareBinding)||[],e.content=d,this.bindingMap_=e);var f=m(this),g=f.createDocumentFragment();g.templateCreator_=this,g.protoContent_=d,g.bindings_=[],g.terminator_=null;for(var h=g.templateInstance_={firstNode:null,lastNode:null,model:a},i=0,j=!1,k=d.firstChild;k;k=k.nextSibling){null===k.nextSibling&&(j=!0);var l=A(k,g,f,e.children[i++],a,c,g.bindings_);l.templateInstance_=h,j&&(g.terminator_=l)}return h.firstNode=g.firstChild,h.lastNode=g.lastChild,g.templateCreator_=void 0,g.protoContent_=void 0,g},get model(){return this.model_},set model(a){this.model_=a,r(this)},get bindingDelegate(){return this.delegate_&&this.delegate_.raw},refChanged_:function(){this.iterator_&&this.refContent_!==this.ref_.content&&(this.refContent_=void 0,this.iterator_.valueChanged(),this.iterator_.updateIteratedValue())},clear:function(){this.model_=void 0,this.delegate_=void 0,this.bindings_&&this.bindings_.ref&&this.bindings_.ref.close(),this.refContent_=void 0,this.iterator_&&(this.iterator_.valueChanged(),this.iterator_.close(),this.iterator_=void 0)},setDelegate_:function(a){this.delegate_=a,this.bindingMap_=void 0,this.iterator_&&(this.iterator_.instancePositionChangedFn_=void 0,this.iterator_.instanceModelFn_=void 0)},newDelegate_:function(a){function b(b){var c=a&&a[b];if("function"==typeof c)return function(){return c.apply(a,arguments)}}return a?{raw:a,prepareBinding:b("prepareBinding"),prepareInstanceModel:b("prepareInstanceModel"),prepareInstancePositionChanged:b("prepareInstancePositionChanged")}:{}},set bindingDelegate(a){if(this.delegate_)throw Error("Template must be cleared before a new bindingDelegate can be assigned");this.setDelegate_(this.newDelegate_(a))},get ref_(){var a=d(this,this.getAttribute("ref"));if(a||(a=this.instanceRef_),!a)return this;var b=a.ref_;return b?b:a}}),Object.defineProperty(Node.prototype,"templateInstance",{get:function(){var a=this.templateInstance_;return a?a:this.parentNode?this.parentNode.templateInstance:void 0}});var Q=document.createDocumentFragment();Q.bindings_=[],Q.terminator_=null,C.prototype={closeDeps:function(){var a=this.deps;a&&(a.ifOneTime===!1&&a.ifValue.close(),a.oneTime===!1&&a.value.close())},updateDependencies:function(a,b){this.closeDeps();var c=this.deps={},d=this.templateElement_;if(a.if){if(c.hasIf=!0,c.ifOneTime=a.if.onlyOneTime,c.ifValue=v(H,a.if,d,b),c.ifOneTime&&!c.ifValue)return void this.updateIteratedValue();c.ifOneTime||c.ifValue.open(this.updateIteratedValue,this)}a.repeat?(c.repeat=!0,c.oneTime=a.repeat.onlyOneTime,c.value=v(G,a.repeat,d,b)):(c.repeat=!1,c.oneTime=a.bind.onlyOneTime,c.value=v(F,a.bind,d,b)),c.oneTime||c.value.open(this.updateIteratedValue,this),this.updateIteratedValue()},updateIteratedValue:function(){if(this.deps.hasIf){var a=this.deps.ifValue;if(this.deps.ifOneTime||(a=a.discardChanges()),!a)return void this.valueChanged()}var b=this.deps.value;this.deps.oneTime||(b=b.discardChanges()),this.deps.repeat||(b=[b]);var c=this.deps.repeat&&!this.deps.oneTime&&Array.isArray(b);this.valueChanged(b,c)},valueChanged:function(a,b){Array.isArray(a)||(a=[]),a!==this.iteratedValue&&(this.unobserve(),this.presentValue=a,b&&(this.arrayObserver=new ArrayObserver(this.presentValue),this.arrayObserver.open(this.handleSplices,this)),this.handleSplices(ArrayObserver.calculateSplices(this.presentValue,this.iteratedValue)))},getLastInstanceNode:function(a){if(-1==a)return this.templateElement_;var b=this.instances[a],c=b.terminator_;if(!c)return this.getLastInstanceNode(a-1);if(c.nodeType!==Node.ELEMENT_NODE||this.templateElement_===c)return c;var d=c.iterator_;return d?d.getLastTemplateNode():c},getLastTemplateNode:function(){return this.getLastInstanceNode(this.instances.length-1)},insertInstanceAt:function(a,b){var c=this.getLastInstanceNode(a-1),d=this.templateElement_.parentNode;this.instances.splice(a,0,b),d.insertBefore(b,c.nextSibling)},extractInstanceAt:function(a){for(var b=this.getLastInstanceNode(a-1),c=this.getLastInstanceNode(a),d=this.templateElement_.parentNode,e=this.instances.splice(a,1)[0];c!==b;){var f=b.nextSibling;f==c&&(c=b),e.appendChild(d.removeChild(f))}return e},getDelegateFn:function(a){return a=a&&a(this.templateElement_),"function"==typeof a?a:null},handleSplices:function(a){if(!this.closed&&a.length){var b=this.templateElement_;if(!b.parentNode)return void this.close();ArrayObserver.applySplices(this.iteratedValue,this.presentValue,a);var c=b.delegate_;void 0===this.instanceModelFn_&&(this.instanceModelFn_=this.getDelegateFn(c&&c.prepareInstanceModel)),void 0===this.instancePositionChangedFn_&&(this.instancePositionChangedFn_=this.getDelegateFn(c&&c.prepareInstancePositionChanged));for(var d=new D,e=0,f=0;f<a.length;f++){for(var g=a[f],h=g.removed,i=0;i<h.length;i++){var j=h[i],k=this.extractInstanceAt(g.index+e);k!==Q&&d.set(j,k)}e-=g.addedCount}for(var f=0;f<a.length;f++)for(var g=a[f],l=g.index;l<g.index+g.addedCount;l++){var j=this.iteratedValue[l],k=d.get(j);k?d.delete(j):(this.instanceModelFn_&&(j=this.instanceModelFn_(j)),k=void 0===j?Q:b.createInstance(j,void 0,c)),this.insertInstanceAt(l,k)}d.forEach(function(a){this.closeInstanceBindings(a)},this),this.instancePositionChangedFn_&&this.reportInstancesMoved(a)}},reportInstanceMoved:function(a){var b=this.instances[a];b!==Q&&this.instancePositionChangedFn_(b.templateInstance_,a)},reportInstancesMoved:function(a){for(var b=0,c=0,d=0;d<a.length;d++){var e=a[d];if(0!=c)for(;b<e.index;)this.reportInstanceMoved(b),b++;else b=e.index;for(;b<e.index+e.addedCount;)this.reportInstanceMoved(b),b++;c+=e.addedCount-e.removed.length}if(0!=c)for(var f=this.instances.length;f>b;)this.reportInstanceMoved(b),b++},closeInstanceBindings:function(a){for(var b=a.bindings_,c=0;c<b.length;c++)b[c].close()},unobserve:function(){this.arrayObserver&&(this.arrayObserver.close(),this.arrayObserver=void 0)},close:function(){if(!this.closed){this.unobserve();for(var a=0;a<this.instances.length;a++)this.closeInstanceBindings(this.instances[a]);this.instances.length=0,this.closeDeps(),this.templateElement_.iterator_=void 0,this.closed=!0}}},HTMLTemplateElement.forAllTemplatesFrom_=i}(this),function(a){"use strict";function b(a,b){if(!a)throw new Error("ASSERT: "+b)}function c(a){return a>=48&&57>=a}function d(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&" ᠎              ".indexOf(String.fromCharCode(a))>0}function e(a){return 10===a||13===a||8232===a||8233===a}function f(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a}function g(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a}function h(a){return"this"===a}function i(){for(;Y>X&&d(W.charCodeAt(X));)++X}function j(){var a,b;for(a=X++;Y>X&&(b=W.charCodeAt(X),g(b));)++X;return W.slice(a,X)}function k(){var a,b,c;return a=X,b=j(),c=1===b.length?S.Identifier:h(b)?S.Keyword:"null"===b?S.NullLiteral:"true"===b||"false"===b?S.BooleanLiteral:S.Identifier,{type:c,value:b,range:[a,X]}}function l(){var a,b,c=X,d=W.charCodeAt(X),e=W[X];switch(d){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:return++X,{type:S.Punctuator,value:String.fromCharCode(d),range:[c,X]};default:if(a=W.charCodeAt(X+1),61===a)switch(d){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 124:return X+=2,{type:S.Punctuator,value:String.fromCharCode(d)+String.fromCharCode(a),range:[c,X]};case 33:case 61:return X+=2,61===W.charCodeAt(X)&&++X,{type:S.Punctuator,value:W.slice(c,X),range:[c,X]}}}return b=W[X+1],e===b&&"&|".indexOf(e)>=0?(X+=2,{type:S.Punctuator,value:e+b,range:[c,X]}):"<>=!+-*%&|^/".indexOf(e)>=0?(++X,{type:S.Punctuator,value:e,range:[c,X]}):void s({},V.UnexpectedToken,"ILLEGAL")}function m(){var a,d,e;if(e=W[X],b(c(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),d=X,a="","."!==e){for(a=W[X++],e=W[X],"0"===a&&e&&c(e.charCodeAt(0))&&s({},V.UnexpectedToken,"ILLEGAL");c(W.charCodeAt(X));)a+=W[X++];e=W[X]}if("."===e){for(a+=W[X++];c(W.charCodeAt(X));)a+=W[X++];e=W[X]}if("e"===e||"E"===e)if(a+=W[X++],e=W[X],("+"===e||"-"===e)&&(a+=W[X++]),c(W.charCodeAt(X)))for(;c(W.charCodeAt(X));)a+=W[X++];else s({},V.UnexpectedToken,"ILLEGAL");return f(W.charCodeAt(X))&&s({},V.UnexpectedToken,"ILLEGAL"),{type:S.NumericLiteral,value:parseFloat(a),range:[d,X]}}function n(){var a,c,d,f="",g=!1;for(a=W[X],b("'"===a||'"'===a,"String literal must starts with a quote"),c=X,++X;Y>X;){if(d=W[X++],d===a){a="";break}if("\\"===d)if(d=W[X++],d&&e(d.charCodeAt(0)))"\r"===d&&"\n"===W[X]&&++X;else switch(d){case"n":f+="\n";break;case"r":f+="\r";break;case"t":f+=" ";break;case"b":f+="\b";break;case"f":f+="\f";break;case"v":f+=" ";break;default:f+=d}else{if(e(d.charCodeAt(0)))break;f+=d}}return""!==a&&s({},V.UnexpectedToken,"ILLEGAL"),{type:S.StringLiteral,value:f,octal:g,range:[c,X]}}function o(a){return a.type===S.Identifier||a.type===S.Keyword||a.type===S.BooleanLiteral||a.type===S.NullLiteral}function p(){var a;return i(),X>=Y?{type:S.EOF,range:[X,X]}:(a=W.charCodeAt(X),40===a||41===a||58===a?l():39===a||34===a?n():f(a)?k():46===a?c(W.charCodeAt(X+1))?m():l():c(a)?m():l())}function q(){var a;return a=$,X=a.range[1],$=p(),X=a.range[1],a}function r(){var a;a=X,$=p(),X=a}function s(a,c){var d,e=Array.prototype.slice.call(arguments,2),f=c.replace(/%(\d)/g,function(a,c){return b(c<e.length,"Message reference must be in range"),e[c]});throw d=new Error(f),d.index=X,d.description=f,d}function t(a){s(a,V.UnexpectedToken,a.value)}function u(a){var b=q();(b.type!==S.Punctuator||b.value!==a)&&t(b)}function v(a){return $.type===S.Punctuator&&$.value===a}function w(a){return $.type===S.Keyword&&$.value===a}function x(){var a=[];for(u("[");!v("]");)v(",")?(q(),a.push(null)):(a.push(bb()),v("]")||u(","));return u("]"),Z.createArrayExpression(a)}function y(){var a;return i(),a=q(),a.type===S.StringLiteral||a.type===S.NumericLiteral?Z.createLiteral(a):Z.createIdentifier(a.value)}function z(){var a,b;return a=$,i(),(a.type===S.EOF||a.type===S.Punctuator)&&t(a),b=y(),u(":"),Z.createProperty("init",b,bb())}function A(){var a=[];for(u("{");!v("}");)a.push(z()),v("}")||u(",");return u("}"),Z.createObjectExpression(a)}function B(){var a;return u("("),a=bb(),u(")"),a}function C(){var a,b,c;return v("(")?B():(a=$.type,a===S.Identifier?c=Z.createIdentifier(q().value):a===S.StringLiteral||a===S.NumericLiteral?c=Z.createLiteral(q()):a===S.Keyword?w("this")&&(q(),c=Z.createThisExpression()):a===S.BooleanLiteral?(b=q(),b.value="true"===b.value,c=Z.createLiteral(b)):a===S.NullLiteral?(b=q(),b.value=null,c=Z.createLiteral(b)):v("[")?c=x():v("{")&&(c=A()),c?c:void t(q()))}function D(){var a=[];if(u("("),!v(")"))for(;Y>X&&(a.push(bb()),!v(")"));)u(",");return u(")"),a}function E(){var a;return a=q(),o(a)||t(a),Z.createIdentifier(a.value)}function F(){return u("."),E()}function G(){var a;return u("["),a=bb(),u("]"),a}function H(){var a,b;for(a=C();v(".")||v("[");)v("[")?(b=G(),a=Z.createMemberExpression("[",a,b)):(b=F(),a=Z.createMemberExpression(".",a,b));return a}function I(){var a,b;return $.type!==S.Punctuator&&$.type!==S.Keyword?b=ab():v("+")||v("-")||v("!")?(a=q(),b=I(),b=Z.createUnaryExpression(a.value,b)):w("delete")||w("void")||w("typeof")?s({},V.UnexpectedToken):b=ab(),b}function J(a){var b=0;if(a.type!==S.Punctuator&&a.type!==S.Keyword)return 0;switch(a.value){case"||":b=1;break;case"&&":b=2;break;case"==":case"!=":case"===":case"!==":b=6;break;case"<":case">":case"<=":case">=":case"instanceof":b=7;break;case"in":b=7;break;case"+":case"-":b=9;break;case"*":case"/":case"%":b=11}return b}function K(){var a,b,c,d,e,f,g,h;if(g=I(),b=$,c=J(b),0===c)return g;for(b.prec=c,q(),e=I(),d=[g,b,e];(c=J($))>0;){for(;d.length>2&&c<=d[d.length-2].prec;)e=d.pop(),f=d.pop().value,g=d.pop(),a=Z.createBinaryExpression(f,g,e),d.push(a);b=q(),b.prec=c,d.push(b),a=I(),d.push(a)}for(h=d.length-1,a=d[h];h>1;)a=Z.createBinaryExpression(d[h-1].value,d[h-2],a),h-=2;return a}function L(){var a,b,c;return a=K(),v("?")&&(q(),b=L(),u(":"),c=L(),a=Z.createConditionalExpression(a,b,c)),a}function M(){var a,b;return a=q(),a.type!==S.Identifier&&t(a),b=v("(")?D():[],Z.createFilter(a.value,b)}function N(){for(;v("|");)q(),M()}function O(){i(),r();var a=bb();a&&(","===$.value||"in"==$.value&&a.type===U.Identifier?Q(a):(N(),"as"===$.value?P(a):Z.createTopLevel(a))),$.type!==S.EOF&&t($)}function P(a){q();var b=q().value;Z.createAsExpression(a,b)}function Q(a){var b;","===$.value&&(q(),$.type!==S.Identifier&&t($),b=q().value),q();var c=bb();N(),Z.createInExpression(a.name,b,c)}function R(a,b){return Z=b,W=a,X=0,Y=W.length,$=null,_={labelSet:{}},O()}var S,T,U,V,W,X,Y,Z,$,_;S={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},T={},T[S.BooleanLiteral]="Boolean",T[S.EOF]="<end>",T[S.Identifier]="Identifier",T[S.Keyword]="Keyword",T[S.NullLiteral]="Null",T[S.NumericLiteral]="Numeric",T[S.Punctuator]="Punctuator",T[S.StringLiteral]="String",U={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"},V={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"};var ab=H,bb=L;a.esprima={parse:R}}(this),function(a){"use strict";function b(a,b,d,e){var f;try{if(f=c(a),f.scopeIdent&&(d.nodeType!==Node.ELEMENT_NODE||"TEMPLATE"!==d.tagName||"bind"!==b&&"repeat"!==b))throw Error("as and in can only be used within <template bind/repeat>")}catch(g){return void console.error("Invalid expression syntax: "+a,g)}return function(a,b,c){var d=f.getBinding(a,e,c);return f.scopeIdent&&d&&(b.polymerExpressionScopeIdent_=f.scopeIdent,f.indexIdent&&(b.polymerExpressionIndexIdent_=f.indexIdent)),d}}function c(a){var b=t[a];if(!b){var c=new j;esprima.parse(a,c),b=new l(c),t[a]=b}return b}function d(a){this.value=a,this.valueFn_=void 0}function e(a){this.name=a,this.path=Path.get(a)}function f(a,b,c){"["==c&&b instanceof d&&Path.get(b.value).valid&&(c=".",b=new e(b.value)),this.dynamicDeps="function"==typeof a||a.dynamic,this.dynamic="function"==typeof b||b.dynamic||"["==c,this.simplePath=!this.dynamic&&!this.dynamicDeps&&b instanceof e&&(a instanceof f||a instanceof e),this.object=this.simplePath?a:i(a),this.property="."==c?b:i(b)}function g(a,b){this.name=a,this.args=[];for(var c=0;c<b.length;c++)this.args[c]=i(b[c])}function h(){throw Error("Not Implemented")}function i(a){return"function"==typeof a?a:a.valueFn()}function j(){this.expression=null,this.filters=[],this.deps={},this.currentPath=void 0,this.scopeIdent=void 0,this.indexIdent=void 0,this.dynamicDeps=!1}function k(a){this.value_=a}function l(a){if(this.scopeIdent=a.scopeIdent,this.indexIdent=a.indexIdent,!a.expression)throw Error("No expression found.");this.expression=a.expression,i(this.expression),this.filters=a.filters,this.dynamicDeps=a.dynamicDeps}function m(a){return String(a).replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()})}function n(a){return"o"===a[0]&&"n"===a[1]&&"-"===a[2]}function o(a,b){for(;a[x]&&!Object.prototype.hasOwnProperty.call(a,b);)a=a[x];return a}function p(a,b){if(0==b.length)return void 0;if(1==b.length)return o(a,b[0]);for(var c=0;null!=a&&c<b.length-1;c++)a=a[b[c]];return a}function q(a,b,c){var d=b.substring(3);return d=w[d]||d,function(b,e,f){function g(){return"{{ "+a+" }}"}var h,i,j;return j="function"==typeof c.resolveEventHandler?function(d){h=h||c.resolveEventHandler(b,a,e),h(d,d.detail,d.currentTarget),Platform&&"function"==typeof Platform.flush&&Platform.flush()}:function(c){h=h||a.getValueFrom(b),i=i||p(b,a,e),h.apply(i,[c,c.detail,c.currentTarget]),Platform&&"function"==typeof Platform.flush&&Platform.flush()},e.addEventListener(d,j),f?void 0:{open:g,discardChanges:g,close:function(){e.removeEventListener(d,j)}}}}function r(a){switch(a){case"":return!1;case"false":case"null":case"true":return!0}return isNaN(Number(a))?!1:!0}function s(){}var t=Object.create(null);d.prototype={valueFn:function(){if(!this.valueFn_){var a=this.value;this.valueFn_=function(){return a}}return this.valueFn_}},e.prototype={valueFn:function(){if(!this.valueFn_){var a=(this.name,this.path);this.valueFn_=function(b,c){return c&&c.addPath(b,a),a.getValueFrom(b)}}return this.valueFn_},setValue:function(a,b){return 1==this.path.length,a=o(a,this.path[0]),this.path.setValueFrom(a,b)}},f.prototype={get fullPath(){if(!this.fullPath_){var a=this.object instanceof e?this.object.name:this.object.fullPath;this.fullPath_=Path.get(a+"."+this.property.name)}return this.fullPath_},valueFn:function(){if(!this.valueFn_){var a=this.object;if(this.simplePath){var b=this.fullPath;this.valueFn_=function(a,c){return c&&c.addPath(a,b),b.getValueFrom(a)}}else if(this.property instanceof e){var b=Path.get(this.property.name);this.valueFn_=function(c,d){var e=a(c,d);return d&&d.addPath(e,b),b.getValueFrom(e)}}else{var c=this.property;this.valueFn_=function(b,d){var e=a(b,d),f=c(b,d);return d&&d.addPath(e,f),e?e[f]:void 0}}}return this.valueFn_},setValue:function(a,b){if(this.simplePath)return this.fullPath.setValueFrom(a,b),b;var c=this.object(a),d=this.property instanceof e?this.property.name:this.property(a);return c[d]=b}},g.prototype={transform:function(a,b,c,d,e){var f=c[this.name],g=d;if(f)g=void 0;else if(f=g[this.name],!f)return void console.error("Cannot find filter: "+this.name);if(b?f=f.toModel:"function"==typeof f.toDOM&&(f=f.toDOM),"function"!=typeof f)return void console.error("No "+(b?"toModel":"toDOM")+" found on"+this.name);for(var h=[a],j=0;j<this.args.length;j++)h[j+1]=i(this.args[j])(d,e);return f.apply(g,h)}};var u={"+":function(a){return+a},"-":function(a){return-a},"!":function(a){return!a}},v={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"*":function(a,b){return a*b},"/":function(a,b){return a/b},"%":function(a,b){return a%b},"<":function(a,b){return b>a},">":function(a,b){return a>b},"<=":function(a,b){return b>=a},">=":function(a,b){return a>=b},"==":function(a,b){return a==b},"!=":function(a,b){return a!=b},"===":function(a,b){return a===b},"!==":function(a,b){return a!==b},"&&":function(a,b){return a&&b},"||":function(a,b){return a||b}};j.prototype={createUnaryExpression:function(a,b){if(!u[a])throw Error("Disallowed operator: "+a);return b=i(b),function(c,d){return u[a](b(c,d))}},createBinaryExpression:function(a,b,c){if(!v[a])throw Error("Disallowed operator: "+a);return b=i(b),c=i(c),function(d,e){return v[a](b(d,e),c(d,e))}},createConditionalExpression:function(a,b,c){return a=i(a),b=i(b),c=i(c),function(d,e){return a(d,e)?b(d,e):c(d,e)}},createIdentifier:function(a){var b=new e(a);return b.type="Identifier",b},createMemberExpression:function(a,b,c){var d=new f(b,c,a);return d.dynamicDeps&&(this.dynamicDeps=!0),d},createLiteral:function(a){return new d(a.value)},createArrayExpression:function(a){for(var b=0;b<a.length;b++)a[b]=i(a[b]);return function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d}},createProperty:function(a,b,c){return{key:b instanceof e?b.name:b.value,value:c}},createObjectExpression:function(a){for(var b=0;b<a.length;b++)a[b].value=i(a[b].value);return function(b,c){for(var d={},e=0;e<a.length;e++)d[a[e].key]=a[e].value(b,c);return d}},createFilter:function(a,b){this.filters.push(new g(a,b))},createAsExpression:function(a,b){this.expression=a,this.scopeIdent=b},createInExpression:function(a,b,c){this.expression=c,this.scopeIdent=a,this.indexIdent=b},createTopLevel:function(a){this.expression=a},createThisExpression:h},k.prototype={open:function(){return this.value_},discardChanges:function(){return this.value_},deliver:function(){},close:function(){}},l.prototype={getBinding:function(a,b,c){function d(){if(h)return h=!1,g;i.dynamicDeps&&f.startReset();var c=i.getValue(a,i.dynamicDeps?f:void 0,b);return i.dynamicDeps&&f.finishReset(),c}function e(c){return i.setValue(a,c,b),c}if(c)return this.getValue(a,void 0,b);var f=new CompoundObserver,g=this.getValue(a,f,b),h=!0,i=this;return new ObserverTransform(f,d,e,!0)},getValue:function(a,b,c){for(var d=i(this.expression)(a,b),e=0;e<this.filters.length;e++)d=this.filters[e].transform(d,!1,c,a,b);return d},setValue:function(a,b,c){for(var d=this.filters?this.filters.length:0;d-->0;)b=this.filters[d].transform(b,!0,c,a);return this.expression.setValue?this.expression.setValue(a,b):void 0}};var w={};["webkitAnimationStart","webkitAnimationEnd","webkitTransitionEnd","DOMFocusOut","DOMFocusIn","DOMMouseScroll"].forEach(function(a){w[a.toLowerCase()]=a});var x="@"+Math.random().toString(36).slice(2);s.prototype={styleObject:function(a){var b=[];for(var c in a)b.push(m(c)+": "+a[c]);return b.join("; ")},tokenList:function(a){var b=[];for(var c in a)a[c]&&b.push(c);return b.join(" ")},prepareInstancePositionChanged:function(a){var b=a.polymerExpressionIndexIdent_;if(b)return function(a,c){a.model[b]=c}},prepareBinding:function(a,c,d){var e=Path.get(a);if(n(c))return e.valid?q(e,c,this):void console.error("on-* bindings must be simple path expressions");{if(r(a)||!e.valid)return b(a,c,d,this);if(1==e.length)return function(a,b,c){if(c)return e.getValueFrom(a);var d=o(a,e[0]);return new PathObserver(d,e)}}},prepareInstanceModel:function(a){var b=a.polymerExpressionScopeIdent_;if(b){var c=a.templateInstance?a.templateInstance.model:a.model,d=a.polymerExpressionIndexIdent_;return function(a){var e=Object.create(c);return e[b]=a,e[d]=void 0,e[x]=c,e}}}},a.PolymerExpressions=s,a.exposeGetExpression&&(a.getExpression_=c),a.PolymerExpressions.prepareEventBinding=q}(this),function(a){function b(){e||(e=!0,a.endOfMicrotask(function(){e=!1,logFlags.data&&console.group("Platform.flush()"),a.performMicrotaskCheckpoint(),logFlags.data&&console.groupEnd()
+}))}var c=document.createElement("style");c.textContent="template {display: none !important;} /* injected by platform.js */";var d=document.querySelector("head");d.insertBefore(c,d.firstChild);var e;if(Observer.hasObjectObserve)b=function(){};else{var f=125;window.addEventListener("WebComponentsReady",function(){b(),a.flushPoll=setInterval(b,f)})}if(window.CustomElements&&!CustomElements.useNative){var g=Document.prototype.importNode;Document.prototype.importNode=function(a,b){var c=g.call(this,a,b);return CustomElements.upgradeAll(c),c}}a.flush=b}(window.Platform);
//# sourceMappingURL=platform.js.map \ No newline at end of file
diff --git a/third_party/polymer/polymer-selector/.bower.json b/third_party/polymer/polymer-selector/.bower.json
index f7d47b64d5..f8f00c1696 100644
--- a/third_party/polymer/polymer-selector/.bower.json
+++ b/third_party/polymer/polymer-selector/.bower.json
@@ -14,6 +14,6 @@
"commit": "d9f58380191e4506e5b8dcfb04a365e6e2fcef8d"
},
"_source": "git://github.com/Polymer/polymer-selector.git",
- "_target": "~0.2.1",
+ "_target": "~0.2.2",
"_originalSource": "Polymer/polymer-selector"
} \ No newline at end of file
diff --git a/third_party/polymer/polymer/.bower.json b/third_party/polymer/polymer/.bower.json
index 1b53ea4035..ce71baceba 100644
--- a/third_party/polymer/polymer/.bower.json
+++ b/third_party/polymer/polymer/.bower.json
@@ -10,21 +10,19 @@
"web-components"
],
"author": "Polymer Authors <polymer-dev@googlegroups.com>",
- "version": "0.2.1",
- "main": [
- "polymer.js"
- ],
+ "private": true,
"dependencies": {
- "platform": "Polymer/platform#0.2.1"
+ "platform": "Polymer/platform#0.2.2",
+ "core-component-page": "Polymer/core-component-page#0.2.2"
},
- "_release": "0.2.1",
+ "version": "0.2.2",
+ "_release": "0.2.2",
"_resolution": {
"type": "version",
- "tag": "0.2.1",
- "commit": "f27b32e77ead86750ee04a54f7d4e5f96fce79b6"
+ "tag": "0.2.2",
+ "commit": "2121c9c6e399e2ea5f4156826bcb4f75f97354e1"
},
- "_source": "git://github.com/components/polymer.git",
- "_target": "0.2.1",
- "_originalSource": "polymer",
- "_direct": true
+ "_source": "git://github.com/Polymer/polymer.git",
+ "_target": "~0.2.2",
+ "_originalSource": "Polymer/polymer"
} \ No newline at end of file
diff --git a/third_party/polymer/polymer/README.md b/third_party/polymer/polymer/README.md
index d608dbdf32..236a88c7b7 100644
--- a/third_party/polymer/polymer/README.md
+++ b/third_party/polymer/polymer/README.md
@@ -1,7 +1,17 @@
-Polymer is a new type of library for the web, built on top of Web Components, and designed to leverage the evolving web platform on modern browsers.
+# Polymer
-For Docs, License, Tests, and pre-packed downloads, see:
-http://www.polymer-project.org/
+[![Analytics](https://ga-beacon.appspot.com/UA-39334307-2/Polymer/polymer/README)](https://github.com/igrigorik/ga-beacon)
-Many thanks to our contributors:
-https://github.com/Polymer/platform/contributors
+Build Status: [http://build.chromium.org/p/client.polymer/waterfall](http://build.chromium.org/p/client.polymer/waterfall)
+
+## Brief Overview
+
+For more detailed info goto [http://polymer-project.org/](http://polymer-project.org/).
+
+Polymer is a new type of library for the web, designed to leverage the existing browser infrastructure to provide the encapsulation and extendability currently only available in JS libraries.
+
+Polymer is based on a set of future technologies, including [Shadow DOM](https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html), [Custom Elements](https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html) and Model Driven Views. Currently these technologies are implemented as polyfills or shims, but as browsers adopt these features natively, the platform code that drives Polymer evacipates, leaving only the value-adds.
+
+## Tools & Testing
+
+For running tests or building minified files, consult the [tooling information](http://www.polymer-project.org/resources/tooling-strategy.html).
diff --git a/third_party/polymer/polymer/bower.json b/third_party/polymer/polymer/bower.json
index 017a467cbe..5f30d4689a 100644
--- a/third_party/polymer/polymer/bower.json
+++ b/third_party/polymer/polymer/bower.json
@@ -10,11 +10,10 @@
"web-components"
],
"author": "Polymer Authors <polymer-dev@googlegroups.com>",
- "version": "0.2.1",
- "main": [
- "polymer.js"
- ],
+ "private": true,
"dependencies": {
- "platform": "Polymer/platform#0.2.1"
- }
-}
+ "platform": "Polymer/platform#0.2.2",
+ "core-component-page": "Polymer/core-component-page#0.2.2"
+ },
+ "version": "0.2.2"
+} \ No newline at end of file
diff --git a/third_party/polymer/polymer/build.log b/third_party/polymer/polymer/build.log
index 747f6f5f3d..363af2944c 100644
--- a/third_party/polymer/polymer/build.log
+++ b/third_party/polymer/polymer/build.log
@@ -1,217 +1,30 @@
BUILD LOG
---------
-Build Time: 2014-03-07T11:16:41
+Build Time: 2014-03-31T14:05:11
NODEJS INFORMATION
==================
nodejs: v0.10.26
-chai: 1.9.0
-─ assertion-error: 1.0.0
-┬ deep-eql: 0.1.3
-└── type-detect: 0.1.1
-grunt: 0.4.2
-─ async: 0.1.22
-─ coffee-script: 1.3.3
-─ colors: 0.6.2
-─ dateformat: 1.0.2-1.2.3
-─ eventemitter2: 0.4.13
-─ exit: 0.1.2
-┬ findup-sync: 0.1.2
-├─┬ glob: 3.1.21
-│ ├── graceful-fs: 1.2.3
-│ ├── inherits: 1.0.0
-│ └─┬ minimatch: 0.2.14
-│ ├── lru-cache: 2.5.0
-│ └── sigmund: 1.0.0
-└── lodash: 1.0.1
-─ getobject: 0.1.0
-┬ glob: 3.1.21
-├── graceful-fs: 1.2.3
-└── inherits: 1.0.0
-─ hooker: 0.2.3
-─ iconv-lite: 0.2.11
-┬ js-yaml: 2.0.5
-├─┬ argparse: 0.1.15
-│ ├── underscore: 1.4.4
-│ └── underscore.string: 2.3.3
-└── esprima: 1.0.4
-─ lodash: 0.9.2
-┬ minimatch: 0.2.14
-├── lru-cache: 2.5.0
-└── sigmund: 1.0.0
-┬ nopt: 1.0.10
-└── abbrev: 1.0.4
-┬ rimraf: 2.0.3
-└── graceful-fs: 1.1.14
-─ underscore.string: 2.2.1
-─ which: 1.0.5
-grunt-audit: 0.0.2
-grunt-concat-sourcemap: 0.3.2 extraneous
-┬ source-map: 0.1.31
-└── amdefine: 0.1.0
-grunt-contrib-uglify: 0.3.2
-┬ chalk: 0.4.0
-├── ansi-styles: 1.0.0
-├── has-color: 0.1.4
-└── strip-ansi: 0.1.1
-┬ grunt-lib-contrib: 0.6.1
-└── zlib-browserify: 0.0.1
-┬ uglify-js: 2.4.12
-├── async: 0.2.10
-├─┬ optimist: 0.3.7
-│ └── wordwrap: 0.0.2
-├─┬ source-map: 0.1.32
-│ └── amdefine: 0.1.0
-└── uglify-to-browserify: 1.0.2
-grunt-contrib-yuidoc: 0.5.0
-┬ yuidocjs: 0.3.47
-├─┬ express: 3.1.2
-│ ├── buffer-crc32: 0.2.1
-│ ├── commander: 0.6.1
-│ ├─┬ connect: 2.7.5
-│ │ ├── buffer-crc32: 0.1.1
-│ │ ├── bytes: 0.2.0
-│ │ ├── formidable: 1.0.11
-│ │ ├── pause: 0.0.1
-│ │ └── qs: 0.5.1
-│ ├── cookie: 0.0.5
-│ ├── cookie-signature: 1.0.0
-│ ├── debug: 0.7.4
-│ ├── fresh: 0.1.0
-│ ├── methods: 0.0.1
-│ ├── mkdirp: 0.3.5
-│ ├── range-parser: 0.0.4
-│ └─┬ send: 0.1.0
-│ └── mime: 1.2.6
-├── graceful-fs: 2.0.1
-├── marked: 0.2.10
-├─┬ minimatch: 0.2.14
-│ ├── lru-cache: 2.5.0
-│ └── sigmund: 1.0.0
-├─┬ rimraf: 2.0.3
-│ └── graceful-fs: 1.1.14
-└─┬ yui: 3.9.1
- └─┬ request: 2.12.0
- ├─┬ form-data: 0.0.3
- │ ├── async: 0.1.9
- │ └─┬ combined-stream: 0.0.3
- │ └── delayed-stream: 0.0.5
- └── mime: 1.2.7
-grunt-karma: 0.6.2
-┬ optimist: 0.6.1
-├── minimist: 0.0.7
-└── wordwrap: 0.0.2
-karma: 0.10.8
-─ chokidar: 0.7.1
-─ coffee-script: 1.6.3
-─ colors: 0.6.0-1
-┬ connect: 2.8.8
-├── buffer-crc32: 0.2.1
-├── bytes: 0.2.0
-├── cookie: 0.1.0
-├── cookie-signature: 1.0.1
-├── debug: 0.7.4
-├── formidable: 1.0.14
-├── fresh: 0.2.0
-├── methods: 0.0.1
-├── pause: 0.0.1
-├── qs: 0.6.5
-├─┬ send: 0.1.4
-│ └── range-parser: 0.0.4
-└── uid2: 0.0.2
-─ di: 0.0.1
-┬ glob: 3.1.21
-└── inherits: 1.0.0
-─ graceful-fs: 1.2.3
-┬ http-proxy: 0.10.3
-├── pkginfo: 0.2.3
-└─┬ utile: 0.1.7
- ├── async: 0.1.22
- ├── deep-equal: 0.1.0
- ├── i: 0.3.2
- ├── mkdirp: 0.3.5
- ├── ncp: 0.2.7
- └── rimraf: 1.0.9
-─ lodash: 1.1.1
-┬ log4js: 0.6.9
-├── async: 0.1.15
-├── readable-stream: 1.0.17
-└── semver: 1.1.4
-─ mime: 1.2.11
-┬ minimatch: 0.2.12
-├── lru-cache: 2.5.0
-└── sigmund: 1.0.0
-┬ optimist: 0.3.7
-└── wordwrap: 0.0.2
-─ q: 0.9.7
-─ rimraf: 2.1.4
-┬ socket.io: 0.9.16
-├── base64id: 0.1.0
-├── policyfile: 0.0.4
-├── redis: 0.7.3
-└─┬ socket.io-client: 0.9.16
- ├─┬ active-x-obfuscator: 0.0.1
- │ └── zeparser: 0.0.5
- ├── uglify-js: 1.2.5
- ├─┬ ws: 0.4.31
- │ ├── commander: 0.6.1
- │ ├── nan: 0.3.2
- │ ├── options: 0.0.5
- │ └── tinycolor: 0.0.1
- └── xmlhttprequest: 1.4.2
-┬ useragent: 2.0.7
-└── lru-cache: 2.2.4
-karma-chrome-launcher: 0.0.2 (git://github.com/morethanreal/karma-chrome-launcher#aaaef751f4c39b4671447f4b62a3462101f8a3c4)
-karma-coffee-preprocessor: 0.1.1
-─ coffee-script: 1.6.3
+chai: 1.9.1
+grunt: 0.4.4
+grunt-audit: 0.0.3
+grunt-contrib-uglify: 0.4.0
+grunt-contrib-yuidoc: 0.5.2
+grunt-karma: 0.8.2
+karma: 0.12.2
+karma-chrome-launcher: 0.0.2
karma-crbot-reporter: 0.0.4
-karma-firefox-launcher: 0.1.2
-karma-html2js-preprocessor: 0.1.0
-karma-ie-launcher: 0.1.1
-karma-jasmine: 0.1.4
-karma-mocha: 0.1.1
-karma-phantomjs-launcher: 0.1.1
-┬ phantomjs: 1.9.2-5
-├── adm-zip: 0.2.1
-├── kew: 0.1.7
-├── mkdirp: 0.3.5
-├── ncp: 0.4.2
-├─┬ npmconf: 0.0.24
-│ ├─┬ config-chain: 1.1.8
-│ │ └── proto-list: 1.2.2
-│ ├── inherits: 1.0.0
-│ ├── ini: 1.1.0
-│ ├─┬ nopt: 2.1.2
-│ │ └── abbrev: 1.0.4
-│ ├── once: 1.1.1
-│ ├── osenv: 0.0.3
-│ └── semver: 1.1.4
-├── rimraf: 2.2.5
-└── which: 1.0.5
-karma-requirejs: 0.2.0
+karma-ie-launcher: 0.1.3
+karma-mocha: 0.1.3
karma-safari-launcher: 0.1.1
karma-script-launcher: 0.1.0
-mocha: 1.17.1
-─ commander: 2.0.0
-─ debug: 0.7.4
-─ diff: 1.0.7
-┬ glob: 3.2.3
-├── graceful-fs: 2.0.1
-├── inherits: 2.0.1
-└─┬ minimatch: 0.2.14
- ├── lru-cache: 2.5.0
- └── sigmund: 1.0.0
-─ growl: 1.7.0
-┬ jade: 0.26.3
-├── commander: 0.6.1
-└── mkdirp: 0.3.0
-─ mkdirp: 0.3.5
-requirejs: 2.1.9
+mocha: 1.18.2
+Polymer: 0.2.2
REPO REVISIONS
==============
-polymer-dev: 8be93c301aa9ebe36723311f65f0d6cb91f2d8f0
+polymer-dev: 17879ecda1070b5421f6974dbe460911dc816611
BUILD HASHES
============
-build/polymer.js: 23e9b01c3c219c34092ef0ecde69f65df59f8df4 \ No newline at end of file
+build/polymer.js: b8c3ae0d9ff00dbc188b3dc5bc5b0ad55faadeff \ No newline at end of file
diff --git a/third_party/polymer/polymer/polymer-body.html b/third_party/polymer/polymer/polymer-body.html
new file mode 100644
index 0000000000..5f07a017cd
--- /dev/null
+++ b/third_party/polymer/polymer/polymer-body.html
@@ -0,0 +1,33 @@
+<polymer-element name="polymer-body" extends="body">
+
+ <script>
+
+ // upgrade polymer-body last so that it can contain other imported elements
+ document.addEventListener('polymer-ready', function() {
+
+ Polymer('polymer-body', Platform.mixin({
+
+ created: function() {
+ this.template = document.createElement('template');
+ var body = wrap(document).body;
+ var c$ = body.childNodes.array();
+ for (var i=0, c; (c=c$[i]); i++) {
+ if (c.localName !== 'script') {
+ this.template.content.appendChild(c);
+ }
+ }
+ // snarf up user defined model
+ window.model = this;
+ },
+
+ parseDeclaration: function(elementElement) {
+ this.lightFromTemplate(this.template);
+ }
+
+ }, window.model));
+
+ });
+
+ </script>
+
+</polymer-element> \ No newline at end of file
diff --git a/third_party/polymer/polymer/polymer.js b/third_party/polymer/polymer/polymer.js
index f4d249feb1..fd1ca793d6 100644
--- a/third_party/polymer/polymer/polymer.js
+++ b/third_party/polymer/polymer/polymer.js
@@ -28,6 +28,6 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// @version: 0.2.1
-Polymer={},"function"==typeof window.Polymer&&(Polymer={}),function(a){function b(a,b){return a&&b&&Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&(Object.defineProperty(a,c,d),"function"==typeof d.value&&(d.value.nom=c))}),a}a.extend=b}(Polymer),function(a){function b(a,b,d){return a?a.stop():a=new c(this),a.go(b,d),a}var c=function(a){this.context=a,this.boundComplete=this.complete.bind(this)};c.prototype={go:function(a,b){this.callback=a;var c;b?(c=setTimeout(this.boundComplete,b),this.handle=function(){clearTimeout(c)}):(c=requestAnimationFrame(this.boundComplete),this.handle=function(){cancelAnimationFrame(c)})},stop:function(){this.handle&&(this.handle(),this.handle=null)},complete:function(){this.handle&&(this.stop(),this.callback.call(this.context))}},a.job=b}(Polymer),function(){var a={};HTMLElement.register=function(b,c){a[b]=c},HTMLElement.getPrototypeForTag=function(b){var c=b?a[b]:HTMLElement.prototype;return c||Object.getPrototypeOf(document.createElement(b))};var b=Event.prototype.stopPropagation;Event.prototype.stopPropagation=function(){this.cancelBubble=!0,b.apply(this,arguments)}}(Polymer),function(a){function b(a){var c=b.caller,g=c.nom,h=c._super;if(h||(g||(g=c.nom=e.call(this,c)),g||console.warn("called super() on a method not installed declaratively (has no .nom property)"),h=d(c,g,f(this))),h){var i=h[g];return i._super||d(i,g,h),i.apply(this,a||[])}}function c(a,b,c){for(;a;){if(a[b]!==c&&a[b])return a;a=f(a)}}function d(a,b,d){return a._super=c(d,b,a),a._super&&(a._super[b].nom=b),a._super}function e(a){for(var b=this.__proto__;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){var g=Object.getOwnPropertyDescriptor(b,c);if("function"==typeof g.value&&g.value===a)return c}b=b.__proto__}}function f(a){return a.__proto__}a.super=b}(Polymer),function(a){function b(a,b){var d=typeof b;return b instanceof Date&&(d="date"),c[d](a,b)}var c={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return 0===b&&(b=parseInt(a)),isNaN(b)?a:b},object:function(a,b){if(null===b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}},"function":function(a,b){return b}};a.deserializeValue=b}(Polymer),function(a){var b=a.extend,c={};c.declaration={},c.instance={},c.publish=function(a,c){for(var d in a)b(c,a[d])},a.api=c}(Polymer),function(a){var b={async:function(a,b,c){Platform.flush(),b=b&&b.length?b:[b];var d=function(){(this[a]||a).apply(this,b)}.bind(this),e=c?setTimeout(d,c):requestAnimationFrame(d);return c?e:1/e},cancelAsync:function(a){1>a?cancelAnimationFrame(Math.round(1/a)):clearTimeout(a)},fire:function(a,b,c,d,e){var f=c||this,b=b||{},g=new CustomEvent(a,{bubbles:void 0!==d?d:!0,cancelable:void 0!==e?e:!0,detail:b});return f.dispatchEvent(g),g},asyncFire:function(){this.async("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}},c=function(){},d={};b.asyncMethod=b.async,a.api.instance.utils=b,a.nop=c,a.nob=d}(Polymer),function(a){var b=window.logFlags||{},c="on-",d={EVENT_PREFIX:c,addHostListeners:function(){var a=this.eventDelegates;b.events&&Object.keys(a).length>0&&console.log("[%s] addHostListeners:",this.localName,a);var d,e,f=this;for(var g in a)e=c+g,(d=PolymerExpressions.prepareEventBinding(Path.get(a[g]),e,{resolveEventHandler:function(a,b){var c=b.getValueFrom(f);return c?c.bind(f):void 0}}))(this,this,!1)},dispatchMethod:function(a,c,d){if(a){b.events&&console.group("[%s] dispatch [%s]",a.localName,c);var e="function"==typeof c?c:a[c];e&&e[d?"apply":"call"](a,d),b.events&&console.groupEnd(),Platform.flush()}}};a.api.instance.events=d}(Polymer),function(a){var b={copyInstanceAttributes:function(){var a=this._instanceAttributes;for(var b in a)this.hasAttribute(b)||this.setAttribute(b,a[b])},takeAttributes:function(){if(this._publishLC)for(var a,b=0,c=this.attributes,d=c.length;(a=c[b])&&d>b;b++)this.attributeToProperty(a.name,a.value)},attributeToProperty:function(b,c){var b=this.propertyForAttribute(b);if(b){if(c&&c.search(a.bindPattern)>=0)return;var d=this[b],c=this.deserializeValue(c,d);c!==d&&(this[b]=c)}},propertyForAttribute:function(a){var b=this._publishLC&&this._publishLC[a];return b},deserializeValue:function(b,c){return a.deserializeValue(b,c)},serializeValue:function(a,b){return"boolean"===b?a?"":void 0:"object"!==b&&"function"!==b&&void 0!==a?a:void 0},reflectPropertyToAttribute:function(a){var b=typeof this[a],c=this.serializeValue(this[a],b);void 0!==c?this.setAttribute(a,c):"boolean"===b&&this.removeAttribute(a)}};a.api.instance.attributes=b}(Polymer),function(a){function b(a,b,d){c.bind&&console.log(e,inB.localName||"object",inPath,a.localName,b);var f=d.discardChanges();return(null===f||void 0===f)&&d.setValue(a[b]),Observer.defineComputedProperty(a,b,d)}var c=window.logFlags||{},d={observeProperties:function(){var a=this._observeNames,b=this._publishNames;if(a&&a.length||b&&b.length){for(var c,d=this._propertyObserver=new CompoundObserver,e=0,f=a.length;f>e&&(c=a[e]);e++){d.addPath(this,c);var g=Object.getOwnPropertyDescriptor(this.__proto__,c);g&&g.value&&this.observeArrayValue(c,g.value,null)}for(var c,e=0,f=b.length;f>e&&(c=b[e]);e++)this.observe&&void 0!==this.observe[c]||d.addPath(this,c);d.open(this.notifyPropertyChanges,this)}},notifyPropertyChanges:function(a,b,c){var d,e,f={};for(var g in b)d=c[2*g+1],void 0!==this.publish[d]&&this.reflectPropertyToAttribute(d),e=this.observe[d],e&&(this.observeArrayValue(d,a[g],b[g]),f[e]||(f[e]=!0,this.invokeMethod(e,[b[g],a[g],arguments])))},observeArrayValue:function(a,b,d){var e=this.observe[a];if(e&&(Array.isArray(d)&&(c.observe&&console.log("[%s] observeArrayValue: unregister observer [%s]",this.localName,a),this.unregisterObserver(a+"__array")),Array.isArray(b))){c.observe&&console.log("[%s] observeArrayValue: register observer [%s]",this.localName,a,b);var f=new ArrayObserver(b);f.open(function(a,b){this.invokeMethod(e,[b])},this),this.registerObserver(a+"__array",f)}},bindProperty:function(a,c){return b(this,a,c)},unbindAllProperties:function(){this._propertyObserver&&this._propertyObserver.close(),this.unregisterObservers()},unbindProperty:function(a){return this.unregisterObserver(a)},invokeMethod:function(a,b){var c=this[a]||a;"function"==typeof c&&c.apply(this,b)},registerObserver:function(a,b){var c=this._observers||(this._observers={});c[a]=b},unregisterObserver:function(a){var b=this._observers;return b&&b[a]?(b[a].close(),b[a]=null,!0):void 0},unregisterObservers:function(){if(this._observers){for(var a,b,c=Object.keys(this._observers),d=0,e=c.length;e>d&&(a=c[d]);d++)b=this._observers[a],b.close();this._observers={}}}},e="[%s]: bindProperties: [%s] to [%s].[%s]";a.api.instance.properties=d}(Polymer),function(a){function b(a){for(;a.parentNode;){if(a.lightDomController)return a;a=a.parentNode}return a.host}function c(a){e(a,d)}function d(a){a.unbindAll()}function e(a,b){if(a){b(a);for(var c=a.firstChild;c;c=c.nextSibling)e(c,b)}}var f=window.logFlags||0,g=(a.api.instance.events,new PolymerExpressions);g.resolveEventHandler=function(a,c,d){var e=b(d);if(e){var f=c.getValueFrom(e);if(f)return f.bind(e)}};var h={syntax:g,instanceTemplate:function(a){return a.createInstance(this,this.syntax)},bind:function(a,b){this._elementPrepared||this.prepareElement();var c=this.propertyForAttribute(a);if(c){this.unbind(a);var d=this.bindProperty(c,b);return d.path=b.path_,this.reflectPropertyToAttribute(c),this.bindings[a]=d}return this.mixinSuper(arguments)},asyncUnbindAll:function(){this._unbound||(f.unbind&&console.log("[%s] asyncUnbindAll",this.localName),this._unbindAllJob=this.job(this._unbindAllJob,this.unbindAll,0))},unbindAll:function(){if(!this._unbound){this.unbindAllProperties(),this.super();for(var a=this.shadowRoot;a;)c(a),a=a.olderShadowRoot;this._unbound=!0}},cancelUnbindAll:function(a){return this._unbound?void(f.unbind&&console.warn("[%s] already unbound, cannot cancel unbindAll",this.localName)):(f.unbind&&console.log("[%s] cancelUnbindAll",this.localName),this._unbindAllJob&&(this._unbindAllJob=this._unbindAllJob.stop()),void(a||e(this.shadowRoot,function(a){a.cancelUnbindAll&&a.cancelUnbindAll()})))}},i=/\{\{([^{}]*)}}/;a.bindPattern=i,a.api.instance.mdv=h}(Polymer),function(a){function b(a){return a.hasOwnProperty("PolymerBase")}function c(){}var d=0,e={PolymerBase:!0,job:Polymer.job,"super":Polymer.super,created:function(){},ready:function(){},createdCallback:function(){this.created(),(this.ownerDocument.defaultView||this.alwaysPrepare||d>0)&&this.prepareElement()},prepareElement:function(){this._elementPrepared=!0,this.shadowRoots={},this.observeProperties(),this.copyInstanceAttributes(),this.takeAttributes(),this.addHostListeners(),d++,this.parseDeclarations(this.__proto__),d--,this.removeAttribute("unresolved"),this.ready()},attachedCallback:function(){this._elementPrepared||this.prepareElement(),this.cancelUnbindAll(!0),this.attached&&this.attached(),this.enteredView&&this.enteredView(),this.hasBeenAttached||(this.hasBeenAttached=!0,this.domReady&&this.async("domReady"))},detachedCallback:function(){this.preventDispose||this.asyncUnbindAll(),this.detached&&this.detached(),this.leftView&&this.leftView()},enteredViewCallback:function(){this.attachedCallback()},leftViewCallback:function(){this.detachedCallback()},enteredDocumentCallback:function(){this.attachedCallback()},leftDocumentCallback:function(){this.detachedCallback()},parseDeclarations:function(a){a&&a.element&&(this.parseDeclarations(a.__proto__),a.parseDeclaration.call(this,a.element))},parseDeclaration:function(a){var b=this.fetchTemplate(a);if(b){var c=this.shadowFromTemplate(b);this.shadowRoots[a.name]=c}},fetchTemplate:function(a){return a.querySelector("template")},shadowFromTemplate:function(a){if(a){var b=this.createShadowRoot();b.resetStyleInheritance=this.resetStyleInheritance;var c=this.instanceTemplate(a);return b.appendChild(c),this.shadowRootReady(b,a),b}},lightFromTemplate:function(a){if(a){this.lightDomController=!0;var b=this.instanceTemplate(a);return this.appendChild(b),this.shadowRootReady(this,a),b}},shadowRootReady:function(a){this.marshalNodeReferences(a),PointerGestures.register(a)},marshalNodeReferences:function(a){var b=this.$=this.$||{};if(a)for(var c,d=a.querySelectorAll("[id]"),e=0,f=d.length;f>e&&(c=d[e]);e++)b[c.id]=c},attributeChangedCallback:function(a){"class"!==a&&"style"!==a&&this.attributeToProperty(a,this.getAttribute(a)),this.attributeChanged&&this.attributeChanged.apply(this,arguments)},onMutation:function(a,b){var c=new MutationObserver(function(a){b.call(this,c,a),c.disconnect()}.bind(this));c.observe(a,{childList:!0,subtree:!0})}};c.prototype=e,e.constructor=c,a.Base=c,a.isBase=b,a.api.instance.base=e}(Polymer),function(a){function b(a){return a.__proto__}function c(a,b){var c="",d=!1;b&&(c=b.localName,d=b.hasAttribute("is"));var e=Platform.ShadowCSS.makeScopeSelector(c,d);return Platform.ShadowCSS.shimCssText(a,e)}var d=(window.logFlags||{},"element"),e="controller",f={STYLE_SCOPE_ATTRIBUTE:d,installControllerStyles:function(){var a=this.findStyleScope();if(a&&!this.scopeHasNamedStyle(a,this.localName)){for(var c=b(this),d="";c&&c.element;)d+=c.element.cssTextForScope(e),c=b(c);d&&this.installScopeCssText(d,a)}},installScopeStyle:function(a,b){var c=this.findStyleScope(),b=b||"";if(c&&!this.scopeHasNamedStyle(c,this.localName+b)){var d="";if(a instanceof Array)for(var e,f=0,g=a.length;g>f&&(e=a[f]);f++)d+=e.textContent+"\n\n";else d=a.textContent;this.installScopeCssText(d,c,b)}},installScopeCssText:function(a,b,d){if(b=b||this.findStyleScope(),d=d||"",b){window.ShadowDOMPolyfill&&(a=c(a,b.host));var f=this.element.cssTextToScopeStyle(a,e);Polymer.applyStyleToScope(f,b),b._scopeStyles[this.localName+d]=!0}},findStyleScope:function(){for(var a=this;a.parentNode;)a=a.parentNode;return a},scopeHasNamedStyle:function(a,b){return a._scopeStyles=a._scopeStyles||{},a._scopeStyles[b]}};a.api.instance.styles=f}(Polymer),function(a){function b(a,b){if(f[a])throw"Already registered (Polymer) prototype for element "+a;e(a,b),d(a)}function c(a,b){h[a]=b}function d(a){h[a]&&(h[a].registerWhenReady(),delete h[a])}function e(a,b){return i[a]=b||{}}function f(a){return i[a]}var g=a.extend,h=(a.api,{}),i={};a.getRegisteredPrototype=f,a.waitingForPrototype=c,window.Polymer=b,g(Polymer,a);var j=Platform.deliverDeclarations();if(j)for(var k,l=0,m=j.length;m>l&&(k=j[l]);l++)b.apply(null,k)}(Polymer),function(a){var b={resolveElementPaths:function(a){Platform.urlResolver.resolveDom(a)},addResolvePathApi:function(){var a=this.getAttribute("assetpath")||"",b=new URL(a,this.ownerDocument.baseURI);this.prototype.resolvePath=function(a,c){var d=new URL(a,c||b);return d.href}}};a.api.declaration.path=b}(Polymer),function(a){function b(a,b){var c=new URL(a.getAttribute("href"),b).href;return"@import '"+c+"';"}function c(a,b){if(a){b===document&&(b=document.head),window.ShadowDOMPolyfill&&(b=document.head);var c=d(a.textContent),e=a.getAttribute(h);e&&c.setAttribute(h,e),b.appendChild(c)}}function d(a,b){b=b||document,b=b.createElement?b:b.ownerDocument;var c=b.createElement("style");return c.textContent=a,c}function e(a){return a&&a.__resource||""}function f(a,b){return p?p.call(a,b):void 0}var g=(window.logFlags||{},a.api.instance.styles),h=g.STYLE_SCOPE_ATTRIBUTE,i="style",j="@import",k="link[rel=stylesheet]",l="global",m="polymer-scope",n={loadStyles:function(a){var b=this.templateContent();b&&this.convertSheetsToStyles(b);var c=this.findLoadableStyles(b);c.length?Platform.styleResolver.loadStyles(c,a):a&&a()},convertSheetsToStyles:function(a){for(var c,e,f=a.querySelectorAll(k),g=0,h=f.length;h>g&&(c=f[g]);g++)e=d(b(c,this.ownerDocument.baseURI),this.ownerDocument),this.copySheetAttributes(e,c),c.parentNode.replaceChild(e,c)},copySheetAttributes:function(a,b){for(var c,d=0,e=b.attributes,f=e.length;(c=e[d])&&f>d;d++)"rel"!==c.name&&"href"!==c.name&&a.setAttribute(c.name,c.value)},findLoadableStyles:function(a){var b=[];if(a)for(var c,d=a.querySelectorAll(i),e=0,f=d.length;f>e&&(c=d[e]);e++)c.textContent.match(j)&&b.push(c);return b},installSheets:function(){this.cacheSheets(),this.cacheStyles(),this.installLocalSheets(),this.installGlobalStyles()},cacheSheets:function(){this.sheets=this.findNodes(k),this.sheets.forEach(function(a){a.parentNode&&a.parentNode.removeChild(a)})},cacheStyles:function(){this.styles=this.findNodes(i+"["+m+"]"),this.styles.forEach(function(a){a.parentNode&&a.parentNode.removeChild(a)})},installLocalSheets:function(){var a=this.sheets.filter(function(a){return!a.hasAttribute(m)}),b=this.templateContent();if(b){var c="";if(a.forEach(function(a){c+=e(a)+"\n"}),c){var f=d(c,this.ownerDocument);b.insertBefore(f,b.firstChild)}}},findNodes:function(a,b){var c=this.querySelectorAll(a).array(),d=this.templateContent();if(d){var e=d.querySelectorAll(a).array();c=c.concat(e)}return b?c.filter(b):c},templateContent:function(){var a=this.querySelector("template");return a&&templateContent(a)},installGlobalStyles:function(){var a=this.styleForScope(l);c(a,document.head)},cssTextForScope:function(a){var b="",c="["+m+"="+a+"]",d=function(a){return f(a,c)},g=this.sheets.filter(d);g.forEach(function(a){b+=e(a)+"\n\n"});var h=this.styles.filter(d);return h.forEach(function(a){b+=a.textContent+"\n\n"}),b},styleForScope:function(a){var b=this.cssTextForScope(a);return this.cssTextToScopeStyle(b,a)},cssTextToScopeStyle:function(a,b){if(a){var c=d(a);return c.setAttribute(h,this.getAttribute("name")+"-"+b),c}}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector;a.api.declaration.styles=n,a.applyStyleToScope=c}(Polymer),function(a){var b=(window.logFlags||{},a.api.instance.events),c=b.EVENT_PREFIX,d={parseHostEvents:function(){var a=this.prototype.eventDelegates;this.addAttributeDelegates(a)},addAttributeDelegates:function(a){for(var b,c=0;b=this.attributes[c];c++)this.hasEventPrefix(b.name)&&(a[this.removeEventPrefix(b.name)]=b.value.replace("{{","").replace("}}","").trim())},hasEventPrefix:function(a){return a&&"o"===a[0]&&"n"===a[1]&&"-"===a[2]},removeEventPrefix:function(a){return a.slice(e)}},e=c.length;a.api.declaration.events=d}(Polymer),function(a){var b={inferObservers:function(a){var b,c=a.observe;for(var d in a)"Changed"===d.slice(-7)&&(c||(c=a.observe={}),b=d.slice(0,-7),c[b]=c[b]||d)},explodeObservers:function(a){var b=a.observe;if(b){var c={};for(var d in b)for(var e,f=d.split(" "),g=0;e=f[g];g++)c[e]=b[d];a.observe=c}},optimizePropertyMaps:function(a){if(a.observe){var b=a._observeNames=[];for(var c in a.observe)for(var d,e=c.split(" "),f=0;d=e[f];f++)b.push(d)}if(a.publish){var b=a._publishNames=[];for(var c in a.publish)b.push(c)}},publishProperties:function(a,b){var c=a.publish;c&&(this.requireProperties(c,a,b),a._publishLC=this.lowerCaseMap(c))},requireProperties:function(a,b,c){for(var d in a)void 0===b[d]&&void 0===c[d]&&(b[d]=a[d])},lowerCaseMap:function(a){var b={};for(var c in a)b[c.toLowerCase()]=c;return b}};a.api.declaration.properties=b}(Polymer),function(a){var b="attributes",c=/\s|,/,d={inheritAttributesObjects:function(a){this.inheritObject(a,"publishLC"),this.inheritObject(a,"_instanceAttributes")},publishAttributes:function(a,d){var e=this.getAttribute(b);if(e)for(var f,g=a.publish||(a.publish={}),h=e.split(c),i=0,j=h.length;j>i;i++)f=h[i].trim(),f&&void 0===g[f]&&void 0===d[f]&&(g[f]=null)},accumulateInstanceAttributes:function(){for(var a,b=this.prototype._instanceAttributes,c=this.attributes,d=0,e=c.length;e>d&&(a=c[d]);d++)this.isInstanceAttribute(a.name)&&(b[a.name]=a.value)},isInstanceAttribute:function(a){return!this.blackList[a]&&"on-"!==a.slice(0,3)},blackList:{name:1,"extends":1,constructor:1,noscript:1,assetpath:1,"cache-csstext":1}};d.blackList[b]=1,a.api.declaration.attributes=d}(Polymer),function(a){function b(a){if(!Object.__proto__){var b=Object.getPrototypeOf(a);a.__proto__=b,d(b)&&(b.__proto__=Object.getPrototypeOf(b))}}var c=a.api,d=a.isBase,e=a.extend,f={register:function(a,b){this.buildPrototype(a,b),this.registerPrototype(a,b),this.publishConstructor()},buildPrototype:function(b,c){var d=a.getRegisteredPrototype(b),e=this.generateBasePrototype(c);this.desugarBeforeChaining(d,e),this.prototype=this.chainPrototypes(d,e),this.desugarAfterChaining(b,c)},desugarBeforeChaining:function(a,b){a.element=this,this.publishAttributes(a,b),this.publishProperties(a,b),this.inferObservers(a),this.explodeObservers(a)},chainPrototypes:function(a,c){this.inheritMetaData(a,c);var d=this.chainObject(a,c);return b(d),d},inheritMetaData:function(a,b){this.inheritObject("observe",a,b),this.inheritObject("publish",a,b),this.inheritObject("_publishLC",a,b),this.inheritObject("_instanceAttributes",a,b),this.inheritObject("eventDelegates",a,b)},desugarAfterChaining:function(a,b){this.optimizePropertyMaps(this.prototype),this.installSheets(),this.resolveElementPaths(this),this.accumulateInstanceAttributes(),this.parseHostEvents(),this.addResolvePathApi(),window.ShadowDOMPolyfill&&Platform.ShadowCSS.shimStyling(this.templateContent(),a,b),this.prototype.registerCallback&&this.prototype.registerCallback(this)},publishConstructor:function(){var a=this.getAttribute("constructor");a&&(window[a]=this.ctor)},generateBasePrototype:function(a){var b=this.findBasePrototype(a);if(!b){var b=HTMLElement.getPrototypeForTag(a);b=this.ensureBaseApi(b),g[a]=b}return b},findBasePrototype:function(a){return g[a]},ensureBaseApi:function(a){if(a.PolymerBase)return a;var b=Object.create(a);return c.publish(c.instance,b),this.mixinMethod(b,a,c.instance.mdv,"bind"),b},mixinMethod:function(a,b,c,d){var e=function(a){return b[d].apply(this,a)};a[d]=function(){return this.mixinSuper=e,c[d].apply(this,arguments)}},inheritObject:function(a,b,c){var d=b[a]||{};b[a]=this.chainObject(d,c[a])},registerPrototype:function(a,b){var c={prototype:this.prototype},d=this.findTypeExtension(b);d&&(c.extends=d),HTMLElement.register(a,this.prototype),this.ctor=document.registerElement(a,c)},findTypeExtension:function(a){if(a&&a.indexOf("-")<0)return a;var b=this.findBasePrototype(a);return b.element?this.findTypeExtension(b.element.extends):void 0}},g={};f.chainObject=Object.__proto__?function(a,b){return a&&b&&a!==b&&(a.__proto__=b),a}:function(a,b){if(a&&b&&a!==b){var c=Object.create(b);a=e(c,a)}return a},c.declaration.prototype=f}(Polymer),function(a){function b(a){return document.contains(a)?g:f}function c(){return f.length?f[0]:g[0]}function d(a){e.waitToReady=!0,CustomElements.ready=!1,HTMLImports.whenImportsReady(function(){e.addReadyCallback(a),e.waitToReady=!1,e.check()})}var e={wait:function(a,b,c){return-1===this.indexOf(a)&&(this.add(a),a.__check=b,a.__go=c),0!==this.indexOf(a)},add:function(a){b(a).push(a)},indexOf:function(a){var c=b(a).indexOf(a);return c>=0&&document.contains(a)&&(c+=HTMLImports.useNative||HTMLImports.ready?f.length:1e9),c},go:function(a){var b=this.remove(a);b&&(b.__go.call(b),b.__check=b.__go=null,this.check())},remove:function(a){var c=this.indexOf(a);if(0===c)return b(a).shift()},check:function(){var a=this.nextElement();return a&&a.__check.call(a),this.canReady()?(this.ready(),!0):void 0},nextElement:function(){return c()},canReady:function(){return!this.waitToReady&&this.isEmpty()},isEmpty:function(){return!f.length&&!g.length},ready:function(){if(CustomElements.ready===!1&&(CustomElements.upgradeDocumentTree(document),CustomElements.ready=!0),h)for(var a;h.length;)(a=h.shift())()},addReadyCallback:function(a){a&&h.push(a)},waitToReady:!0},f=[],g=[],h=[];document.addEventListener("WebComponentsReady",function(){CustomElements.ready=!1}),a.queue=e,a.whenPolymerReady=d}(Polymer),function(a){function b(a,b){a?(document.head.appendChild(a),d(b)):b&&b()}function c(a,c){if(a&&a.length){for(var d,e,f=document.createDocumentFragment(),g=0,h=a.length;h>g&&(d=a[g]);g++)e=document.createElement("link"),e.rel="import",e.href=d,f.appendChild(e);b(f,c)}else c&&c()}var d=a.whenPolymerReady;a.import=c,a.importElements=b}(Polymer),function(a){function b(a){return Boolean(HTMLElement.getPrototypeForTag(a))}function c(a){return a&&a.indexOf("-")>=0}var d=a.extend,e=a.api,f=a.queue,g=a.whenPolymerReady,h=a.getRegisteredPrototype,i=a.waitingForPrototype,j=d(Object.create(HTMLElement.prototype),{createdCallback:function(){this.getAttribute("name")&&this.init()},init:function(){this.name=this.getAttribute("name"),this.extends=this.getAttribute("extends"),this.loadResources(),this.registerWhenReady()},registerWhenReady:function(){this.registered||this.waitingForPrototype(this.name)||this.waitingForQueue()||this.waitingForResources()||f.go(this)},_register:function(){c(this.extends)&&!b(this.extends)&&console.warn("%s is attempting to extend %s, an unregistered element or one that was not registered with Polymer.",this.name,this.extends),this.register(this.name,this.extends),this.registered=!0},waitingForPrototype:function(a){return h(a)?void 0:(i(a,this),this.handleNoScript(a),!0)},handleNoScript:function(a){if(this.hasAttribute("noscript")&&!this.noscript)if(this.noscript=!0,window.CustomElements&&!CustomElements.useNative)Polymer(a);else{var b=document.createElement("script");b.textContent="Polymer('"+a+"');",this.appendChild(b)}},waitingForResources:function(){return this._needsResources},waitingForQueue:function(){return f.wait(this,this.registerWhenReady,this._register)},loadResources:function(){this._needsResources=!0,this.loadStyles(function(){this._needsResources=!1,this.registerWhenReady()}.bind(this))}});e.publish(e.declaration,j),a.getRegisteredPrototype=h,g(function(){document.body.removeAttribute("unresolved"),document.dispatchEvent(new CustomEvent("polymer-ready",{bubbles:!0}))}),document.registerElement("polymer-element",{prototype:j})}(Polymer);
+// @version: 0.2.2
+Polymer={},"function"==typeof window.Polymer&&(Polymer={}),function(a){function b(a,b){return a&&b&&Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&(Object.defineProperty(a,c,d),"function"==typeof d.value&&(d.value.nom=c))}),a}a.extend=b}(Polymer),function(a){function b(a,b,d){return a?a.stop():a=new c(this),a.go(b,d),a}var c=function(a){this.context=a,this.boundComplete=this.complete.bind(this)};c.prototype={go:function(a,b){this.callback=a;var c;b?(c=setTimeout(this.boundComplete,b),this.handle=function(){clearTimeout(c)}):(c=requestAnimationFrame(this.boundComplete),this.handle=function(){cancelAnimationFrame(c)})},stop:function(){this.handle&&(this.handle(),this.handle=null)},complete:function(){this.handle&&(this.stop(),this.callback.call(this.context))}},a.job=b}(Polymer),function(){var a={};HTMLElement.register=function(b,c){a[b]=c},HTMLElement.getPrototypeForTag=function(b){var c=b?a[b]:HTMLElement.prototype;return c||Object.getPrototypeOf(document.createElement(b))};var b=Event.prototype.stopPropagation;Event.prototype.stopPropagation=function(){this.cancelBubble=!0,b.apply(this,arguments)}}(Polymer),function(a){function b(a){var c=b.caller,g=c.nom,h=c._super;if(h||(g||(g=c.nom=e.call(this,c)),g||console.warn("called super() on a method not installed declaratively (has no .nom property)"),h=d(c,g,f(this))),h){var i=h[g];return i._super||d(i,g,h),i.apply(this,a||[])}}function c(a,b,c){for(;a;){if(a[b]!==c&&a[b])return a;a=f(a)}}function d(a,b,d){return a._super=c(d,b,a),a._super&&(a._super[b].nom=b),a._super}function e(a){for(var b=this.__proto__;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){var g=Object.getOwnPropertyDescriptor(b,c);if("function"==typeof g.value&&g.value===a)return c}b=b.__proto__}}function f(a){return a.__proto__}a.super=b}(Polymer),function(a){function b(a,b){var d=typeof b;return b instanceof Date&&(d="date"),c[d](a,b)}var c={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return 0===b&&(b=parseInt(a)),isNaN(b)?a:b},object:function(a,b){if(null===b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}},"function":function(a,b){return b}};a.deserializeValue=b}(Polymer),function(a){var b=a.extend,c={};c.declaration={},c.instance={},c.publish=function(a,c){for(var d in a)b(c,a[d])},a.api=c}(Polymer),function(a){var b={async:function(a,b,c){Platform.flush(),b=b&&b.length?b:[b];var d=function(){(this[a]||a).apply(this,b)}.bind(this),e=c?setTimeout(d,c):requestAnimationFrame(d);return c?e:~e},cancelAsync:function(a){0>a?cancelAnimationFrame(~a):clearTimeout(a)},fire:function(a,b,c,d,e){var f=c||this,b=b||{},g=new CustomEvent(a,{bubbles:void 0!==d?d:!0,cancelable:void 0!==e?e:!0,detail:b});return f.dispatchEvent(g),g},asyncFire:function(){this.async("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}},c=function(){},d={};b.asyncMethod=b.async,a.api.instance.utils=b,a.nop=c,a.nob=d}(Polymer),function(a){var b=window.logFlags||{},c="on-",d={EVENT_PREFIX:c,addHostListeners:function(){var a=this.eventDelegates;b.events&&Object.keys(a).length>0&&console.log("[%s] addHostListeners:",this.localName,a);var d,e,f=this;for(var g in a)e=c+g,(d=PolymerExpressions.prepareEventBinding(Path.get(a[g]),e,{resolveEventHandler:function(a,b){var c=b.getValueFrom(f);return c?c.bind(f):void 0}}))(this,this,!1)},dispatchMethod:function(a,c,d){if(a){b.events&&console.group("[%s] dispatch [%s]",a.localName,c);var e="function"==typeof c?c:a[c];e&&e[d?"apply":"call"](a,d),b.events&&console.groupEnd(),Platform.flush()}}};a.api.instance.events=d}(Polymer),function(a){var b={copyInstanceAttributes:function(){var a=this._instanceAttributes;for(var b in a)this.hasAttribute(b)||this.setAttribute(b,a[b])},takeAttributes:function(){if(this._publishLC)for(var a,b=0,c=this.attributes,d=c.length;(a=c[b])&&d>b;b++)this.attributeToProperty(a.name,a.value)},attributeToProperty:function(b,c){var b=this.propertyForAttribute(b);if(b){if(c&&c.search(a.bindPattern)>=0)return;var d=this[b],c=this.deserializeValue(c,d);c!==d&&(this[b]=c)}},propertyForAttribute:function(a){var b=this._publishLC&&this._publishLC[a];return b},deserializeValue:function(b,c){return a.deserializeValue(b,c)},serializeValue:function(a,b){return"boolean"===b?a?"":void 0:"object"!==b&&"function"!==b&&void 0!==a?a:void 0},reflectPropertyToAttribute:function(a){var b=typeof this[a],c=this.serializeValue(this[a],b);void 0!==c?this.setAttribute(a,c):"boolean"===b&&this.removeAttribute(a)}};a.api.instance.attributes=b}(Polymer),function(a){function b(a,b,d){c.bind&&console.log(e,inB.localName||"object",inPath,a.localName,b);var f=d.discardChanges();return(null===f||void 0===f)&&d.setValue(a[b]),Observer.defineComputedProperty(a,b,d)}var c=window.logFlags||{},d={observeProperties:function(){var a=this._observeNames,b=this._publishNames;if(a&&a.length||b&&b.length){var c=this._propertyObserver=new CompoundObserver;this.registerObservers([c]);for(var d,e=0,f=a.length;f>e&&(d=a[e]);e++){c.addPath(this,d);var g=Object.getOwnPropertyDescriptor(this.__proto__,d);g&&g.value&&this.observeArrayValue(d,g.value,null)}for(var d,e=0,f=b.length;f>e&&(d=b[e]);e++)this.observe&&void 0!==this.observe[d]||c.addPath(this,d);c.open(this.notifyPropertyChanges,this)}},notifyPropertyChanges:function(a,b,c){var d,e,f={};for(var g in b)d=c[2*g+1],void 0!==this.publish[d]&&this.reflectPropertyToAttribute(d),e=this.observe[d],e&&(this.observeArrayValue(d,a[g],b[g]),f[e]||(f[e]=!0,this.invokeMethod(e,[b[g],a[g],arguments])))},observeArrayValue:function(a,b,d){var e=this.observe[a];if(e&&(Array.isArray(d)&&(c.observe&&console.log("[%s] observeArrayValue: unregister observer [%s]",this.localName,a),this.closeNamedObserver(a+"__array")),Array.isArray(b))){c.observe&&console.log("[%s] observeArrayValue: register observer [%s]",this.localName,a,b);var f=new ArrayObserver(b);f.open(function(a,b){this.invokeMethod(e,[b])},this),this.registerNamedObserver(a+"__array",f)}},bindProperty:function(a,c){return b(this,a,c)},invokeMethod:function(a,b){var c=this[a]||a;"function"==typeof c&&c.apply(this,b)},registerObservers:function(a){this._observers.push(a)},closeObservers:function(){for(var a=0,b=this._observers.length;b>a;a++)this.closeObserverArray(this._observers[a]);this._observers=[]},closeObserverArray:function(a){for(var b,c=0,d=a.length;d>c;c++)b=a[c],b&&b.close&&b.close()},registerNamedObserver:function(a,b){var c=this._namedObservers||(this._namedObservers={});c[a]=b},closeNamedObserver:function(a){var b=this._namedObservers;return b&&b[a]?(b[a].close(),b[a]=null,!0):void 0},closeNamedObservers:function(){if(this._namedObservers){for(var a,b,c=Object.keys(this._namedObservers),d=0,e=c.length;e>d&&(a=c[d]);d++)b=this._namedObservers[a],b.close();this._namedObservers={}}}},e="[%s]: bindProperties: [%s] to [%s].[%s]";a.api.instance.properties=d}(Polymer),function(a){function b(a){for(;a.parentNode;){if(a.lightDomController)return a;a=a.parentNode}return a.host}var c=window.logFlags||0,d=(a.api.instance.events,new PolymerExpressions);d.resolveEventHandler=function(a,c,d){var e=b(d);if(e){var f=c.getValueFrom(e);if(f)return f.bind(e)}};var e={syntax:d,instanceTemplate:function(a){var b=a.createInstance(this,this.syntax);return this.registerObservers(b.bindings_),b},bind:function(a,b){var c=this.propertyForAttribute(a);if(c){var d=this.bindProperty(c,b);return this.reflectPropertyToAttribute(c),Platform.enableBindingsReflection&&(d.path=b.path_,this.bindings_=this.bindings_||{},this.bindings_[a]=d),d}return this.mixinSuper(arguments)},asyncUnbindAll:function(){this._unbound||(c.unbind&&console.log("[%s] asyncUnbindAll",this.localName),this._unbindAllJob=this.job(this._unbindAllJob,this.unbindAll,0))},unbindAll:function(){this._unbound||(this.closeObservers(),this.closeNamedObservers(),this._unbound=!0)},cancelUnbindAll:function(){return this._unbound?void(c.unbind&&console.warn("[%s] already unbound, cannot cancel unbindAll",this.localName)):(c.unbind&&console.log("[%s] cancelUnbindAll",this.localName),void(this._unbindAllJob&&(this._unbindAllJob=this._unbindAllJob.stop())))}},f=/\{\{([^{}]*)}}/;a.bindPattern=f,a.api.instance.mdv=e}(Polymer),function(a){function b(a){return a.hasOwnProperty("PolymerBase")}function c(){}var d={PolymerBase:!0,job:function(a,b,c){if("string"!=typeof a)return Polymer.job.call(this,a,b,c);var d="___"+a;this[d]=Polymer.job.call(this,this[d],b,c)},"super":Polymer.super,created:function(){},ready:function(){},createdCallback:function(){this.templateInstance&&console.warn("Attributes on "+this.localName+" were data bound prior to Polymer upgrading the element. This may result in incorrect binding types."),this.created(),this.prepareElement()},prepareElement:function(){this._elementPrepared=!0,this.shadowRoots={},this._observers=[],this.observeProperties(),this.copyInstanceAttributes(),this.takeAttributes(),this.addHostListeners(),this.parseDeclarations(this.__proto__),this.removeAttribute("unresolved"),this.ready()},attachedCallback:function(){this.cancelUnbindAll(),this.attached&&this.attached(),this.enteredView&&this.enteredView(),this.hasBeenAttached||(this.hasBeenAttached=!0,this.domReady&&this.async("domReady"))},detachedCallback:function(){this.preventDispose||this.asyncUnbindAll(),this.detached&&this.detached(),this.leftView&&this.leftView()},enteredViewCallback:function(){this.attachedCallback()},leftViewCallback:function(){this.detachedCallback()},enteredDocumentCallback:function(){this.attachedCallback()},leftDocumentCallback:function(){this.detachedCallback()},parseDeclarations:function(a){a&&a.element&&(this.parseDeclarations(a.__proto__),a.parseDeclaration.call(this,a.element))},parseDeclaration:function(a){var b=this.fetchTemplate(a);if(b){var c=this.shadowFromTemplate(b);this.shadowRoots[a.name]=c}},fetchTemplate:function(a){return a.querySelector("template")},shadowFromTemplate:function(a){if(a){var b=this.createShadowRoot(),c=this.instanceTemplate(a);return b.appendChild(c),this.shadowRootReady(b,a),b}},lightFromTemplate:function(a,b){if(a){this.lightDomController=!0;var c=this.instanceTemplate(a);return b?this.insertBefore(c,b):this.appendChild(c),this.shadowRootReady(this),c}},shadowRootReady:function(a){this.marshalNodeReferences(a),PointerGestures.register(a)},marshalNodeReferences:function(a){var b=this.$=this.$||{};if(a)for(var c,d=a.querySelectorAll("[id]"),e=0,f=d.length;f>e&&(c=d[e]);e++)b[c.id]=c},attributeChangedCallback:function(a){"class"!==a&&"style"!==a&&this.attributeToProperty(a,this.getAttribute(a)),this.attributeChanged&&this.attributeChanged.apply(this,arguments)},onMutation:function(a,b){var c=new MutationObserver(function(a){b.call(this,c,a),c.disconnect()}.bind(this));c.observe(a,{childList:!0,subtree:!0})}};c.prototype=d,d.constructor=c,a.Base=c,a.isBase=b,a.api.instance.base=d}(Polymer),function(a){function b(a){return a.__proto__}function c(a,b){var c="",d=!1;b&&(c=b.localName,d=b.hasAttribute("is"));var e=Platform.ShadowCSS.makeScopeSelector(c,d);return Platform.ShadowCSS.shimCssText(a,e)}var d=(window.logFlags||{},"element"),e="controller",f={STYLE_SCOPE_ATTRIBUTE:d,installControllerStyles:function(){var a=this.findStyleScope();if(a&&!this.scopeHasNamedStyle(a,this.localName)){for(var c=b(this),d="";c&&c.element;)d+=c.element.cssTextForScope(e),c=b(c);d&&this.installScopeCssText(d,a)}},installScopeStyle:function(a,b,c){var c=c||this.findStyleScope(),b=b||"";if(c&&!this.scopeHasNamedStyle(c,this.localName+b)){var d="";if(a instanceof Array)for(var e,f=0,g=a.length;g>f&&(e=a[f]);f++)d+=e.textContent+"\n\n";else d=a.textContent;this.installScopeCssText(d,c,b)}},installScopeCssText:function(a,b,d){if(b=b||this.findStyleScope(),d=d||"",b){window.ShadowDOMPolyfill&&(a=c(a,b.host));var f=this.element.cssTextToScopeStyle(a,e);Polymer.applyStyleToScope(f,b),b._scopeStyles[this.localName+d]=!0}},findStyleScope:function(a){for(var b=a||this;b.parentNode;)b=b.parentNode;return b},scopeHasNamedStyle:function(a,b){return a._scopeStyles=a._scopeStyles||{},a._scopeStyles[b]}};a.api.instance.styles=f}(Polymer),function(a){function b(a,b){if(1===arguments.length&&"string"!=typeof arguments[0]){b=a;var c=document._currentScript;if(a=c&&c.parentNode&&c.parentNode.getAttribute?c.parentNode.getAttribute("name"):"",!a)throw"Element name could not be inferred."}if(f[a])throw"Already registered (Polymer) prototype for element "+a;e(a,b),d(a)}function c(a,b){h[a]=b}function d(a){h[a]&&(h[a].registerWhenReady(),delete h[a])}function e(a,b){return i[a]=b||{}}function f(a){return i[a]}var g=a.extend,h=(a.api,{}),i={};a.getRegisteredPrototype=f,a.waitingForPrototype=c,window.Polymer=b,g(Polymer,a);var j=Platform.deliverDeclarations();if(j)for(var k,l=0,m=j.length;m>l&&(k=j[l]);l++)b.apply(null,k)}(Polymer),function(a){var b={resolveElementPaths:function(a){Platform.urlResolver.resolveDom(a)},addResolvePathApi:function(){var a=this.getAttribute("assetpath")||"",b=new URL(a,this.ownerDocument.baseURI);this.prototype.resolvePath=function(a,c){var d=new URL(a,c||b);return d.href}}};a.api.declaration.path=b}(Polymer),function(a){function b(a,b){var c=new URL(a.getAttribute("href"),b).href;return"@import '"+c+"';"}function c(a,b){if(a){b===document&&(b=document.head),window.ShadowDOMPolyfill&&(b=document.head);var c=d(a.textContent),e=a.getAttribute(h);e&&c.setAttribute(h,e);var f=b.firstElementChild;if(b===document.head){var g="style["+h+"]",i=document.head.querySelectorAll(g);i.length&&(f=i[i.length-1].nextElementSibling)}b.insertBefore(c,f)}}function d(a,b){b=b||document,b=b.createElement?b:b.ownerDocument;var c=b.createElement("style");return c.textContent=a,c}function e(a){return a&&a.__resource||""}function f(a,b){return p?p.call(a,b):void 0}var g=(window.logFlags||{},a.api.instance.styles),h=g.STYLE_SCOPE_ATTRIBUTE,i="style",j="@import",k="link[rel=stylesheet]",l="global",m="polymer-scope",n={loadStyles:function(a){var b=this.templateContent();b&&this.convertSheetsToStyles(b);var c=this.findLoadableStyles(b);c.length?Platform.styleResolver.loadStyles(c,a):a&&a()},convertSheetsToStyles:function(a){for(var c,e,f=a.querySelectorAll(k),g=0,h=f.length;h>g&&(c=f[g]);g++)e=d(b(c,this.ownerDocument.baseURI),this.ownerDocument),this.copySheetAttributes(e,c),c.parentNode.replaceChild(e,c)},copySheetAttributes:function(a,b){for(var c,d=0,e=b.attributes,f=e.length;(c=e[d])&&f>d;d++)"rel"!==c.name&&"href"!==c.name&&a.setAttribute(c.name,c.value)},findLoadableStyles:function(a){var b=[];if(a)for(var c,d=a.querySelectorAll(i),e=0,f=d.length;f>e&&(c=d[e]);e++)c.textContent.match(j)&&b.push(c);return b},installSheets:function(){this.cacheSheets(),this.cacheStyles(),this.installLocalSheets(),this.installGlobalStyles()},cacheSheets:function(){this.sheets=this.findNodes(k),this.sheets.forEach(function(a){a.parentNode&&a.parentNode.removeChild(a)})},cacheStyles:function(){this.styles=this.findNodes(i+"["+m+"]"),this.styles.forEach(function(a){a.parentNode&&a.parentNode.removeChild(a)})},installLocalSheets:function(){var a=this.sheets.filter(function(a){return!a.hasAttribute(m)}),b=this.templateContent();if(b){var c="";if(a.forEach(function(a){c+=e(a)+"\n"}),c){var f=d(c,this.ownerDocument);b.insertBefore(f,b.firstChild)}}},findNodes:function(a,b){var c=this.querySelectorAll(a).array(),d=this.templateContent();if(d){var e=d.querySelectorAll(a).array();c=c.concat(e)}return b?c.filter(b):c},templateContent:function(){var a=this.querySelector("template");return a&&templateContent(a)},installGlobalStyles:function(){var a=this.styleForScope(l);c(a,document.head)},cssTextForScope:function(a){var b="",c="["+m+"="+a+"]",d=function(a){return f(a,c)},g=this.sheets.filter(d);g.forEach(function(a){b+=e(a)+"\n\n"});var h=this.styles.filter(d);return h.forEach(function(a){b+=a.textContent+"\n\n"}),b},styleForScope:function(a){var b=this.cssTextForScope(a);return this.cssTextToScopeStyle(b,a)},cssTextToScopeStyle:function(a,b){if(a){var c=d(a);return c.setAttribute(h,this.getAttribute("name")+"-"+b),c}}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector;a.api.declaration.styles=n,a.applyStyleToScope=c}(Polymer),function(a){var b=(window.logFlags||{},a.api.instance.events),c=b.EVENT_PREFIX,d={parseHostEvents:function(){var a=this.prototype.eventDelegates;this.addAttributeDelegates(a)},addAttributeDelegates:function(a){for(var b,c=0;b=this.attributes[c];c++)this.hasEventPrefix(b.name)&&(a[this.removeEventPrefix(b.name)]=b.value.replace("{{","").replace("}}","").trim())},hasEventPrefix:function(a){return a&&"o"===a[0]&&"n"===a[1]&&"-"===a[2]},removeEventPrefix:function(a){return a.slice(e)}},e=c.length;a.api.declaration.events=d}(Polymer),function(a){var b={inferObservers:function(a){var b,c=a.observe;for(var d in a)"Changed"===d.slice(-7)&&(c||(c=a.observe={}),b=d.slice(0,-7),c[b]=c[b]||d)},explodeObservers:function(a){var b=a.observe;if(b){var c={};for(var d in b)for(var e,f=d.split(" "),g=0;e=f[g];g++)c[e]=b[d];a.observe=c}},optimizePropertyMaps:function(a){if(a.observe){var b=a._observeNames=[];for(var c in a.observe)for(var d,e=c.split(" "),f=0;d=e[f];f++)b.push(d)}if(a.publish){var b=a._publishNames=[];for(var c in a.publish)b.push(c)}},publishProperties:function(a,b){var c=a.publish;c&&(this.requireProperties(c,a,b),a._publishLC=this.lowerCaseMap(c))},requireProperties:function(a,b,c){for(var d in a)void 0===b[d]&&void 0===c[d]&&(b[d]=a[d])},lowerCaseMap:function(a){var b={};for(var c in a)b[c.toLowerCase()]=c;return b}};a.api.declaration.properties=b}(Polymer),function(a){var b="attributes",c=/\s|,/,d={inheritAttributesObjects:function(a){this.inheritObject(a,"publishLC"),this.inheritObject(a,"_instanceAttributes")},publishAttributes:function(a,d){var e=this.getAttribute(b);if(e)for(var f,g=a.publish||(a.publish={}),h=e.split(c),i=0,j=h.length;j>i;i++)f=h[i].trim(),f&&void 0===g[f]&&void 0===d[f]&&(g[f]=null)},accumulateInstanceAttributes:function(){for(var a,b=this.prototype._instanceAttributes,c=this.attributes,d=0,e=c.length;e>d&&(a=c[d]);d++)this.isInstanceAttribute(a.name)&&(b[a.name]=a.value)},isInstanceAttribute:function(a){return!this.blackList[a]&&"on-"!==a.slice(0,3)},blackList:{name:1,"extends":1,constructor:1,noscript:1,assetpath:1,"cache-csstext":1}};d.blackList[b]=1,a.api.declaration.attributes=d}(Polymer),function(a){function b(a){if(!Object.__proto__){var b=Object.getPrototypeOf(a);a.__proto__=b,d(b)&&(b.__proto__=Object.getPrototypeOf(b))}}var c=a.api,d=a.isBase,e=a.extend,f={register:function(a,b){this.buildPrototype(a,b),this.registerPrototype(a,b),this.publishConstructor()},buildPrototype:function(b,c){var d=a.getRegisteredPrototype(b),e=this.generateBasePrototype(c);this.desugarBeforeChaining(d,e),this.prototype=this.chainPrototypes(d,e),this.desugarAfterChaining(b,c)},desugarBeforeChaining:function(a,b){a.element=this,this.publishAttributes(a,b),this.publishProperties(a,b),this.inferObservers(a),this.explodeObservers(a)},chainPrototypes:function(a,c){this.inheritMetaData(a,c);var d=this.chainObject(a,c);return b(d),d},inheritMetaData:function(a,b){this.inheritObject("observe",a,b),this.inheritObject("publish",a,b),this.inheritObject("_publishLC",a,b),this.inheritObject("_instanceAttributes",a,b),this.inheritObject("eventDelegates",a,b)},desugarAfterChaining:function(a,b){this.optimizePropertyMaps(this.prototype),this.installSheets(),this.resolveElementPaths(this),this.accumulateInstanceAttributes(),this.parseHostEvents(),this.addResolvePathApi(),window.ShadowDOMPolyfill&&Platform.ShadowCSS.shimStyling(this.templateContent(),a,b),this.prototype.registerCallback&&this.prototype.registerCallback(this)},publishConstructor:function(){var a=this.getAttribute("constructor");a&&(window[a]=this.ctor)},generateBasePrototype:function(a){var b=this.findBasePrototype(a);if(!b){var b=HTMLElement.getPrototypeForTag(a);b=this.ensureBaseApi(b),g[a]=b}return b},findBasePrototype:function(a){return g[a]},ensureBaseApi:function(a){if(a.PolymerBase)return a;var b=Object.create(a);return c.publish(c.instance,b),this.mixinMethod(b,a,c.instance.mdv,"bind"),b},mixinMethod:function(a,b,c,d){var e=function(a){return b[d].apply(this,a)};a[d]=function(){return this.mixinSuper=e,c[d].apply(this,arguments)}},inheritObject:function(a,b,c){var d=b[a]||{};b[a]=this.chainObject(d,c[a])},registerPrototype:function(a,b){var c={prototype:this.prototype},d=this.findTypeExtension(b);d&&(c.extends=d),HTMLElement.register(a,this.prototype),this.ctor=document.registerElement(a,c)},findTypeExtension:function(a){if(a&&a.indexOf("-")<0)return a;var b=this.findBasePrototype(a);return b.element?this.findTypeExtension(b.element.extends):void 0}},g={};f.chainObject=Object.__proto__?function(a,b){return a&&b&&a!==b&&(a.__proto__=b),a}:function(a,b){if(a&&b&&a!==b){var c=Object.create(b);a=e(c,a)}return a},c.declaration.prototype=f}(Polymer),function(a){function b(a){return document.contains(a)?g:f}function c(){return f.length?f[0]:g[0]}function d(a){e.waitToReady=!0,CustomElements.ready=!1,HTMLImports.whenImportsReady(function(){e.addReadyCallback(a),e.waitToReady=!1,e.check()})}var e={wait:function(a,b,c){return-1===this.indexOf(a)&&(this.add(a),a.__check=b,a.__go=c),0!==this.indexOf(a)},add:function(a){b(a).push(a)},indexOf:function(a){var c=b(a).indexOf(a);return c>=0&&document.contains(a)&&(c+=HTMLImports.useNative||HTMLImports.ready?f.length:1e9),c},go:function(a){var b=this.remove(a);b&&(b.__go.call(b),b.__check=b.__go=null,this.check())},remove:function(a){var c=this.indexOf(a);if(0===c)return b(a).shift()},check:function(){var a=this.nextElement();return a&&a.__check.call(a),this.canReady()?(this.ready(),!0):void 0},nextElement:function(){return c()},canReady:function(){return!this.waitToReady&&this.isEmpty()},isEmpty:function(){return!f.length&&!g.length},ready:function(){if(CustomElements.ready===!1&&(CustomElements.upgradeDocumentTree(document),CustomElements.ready=!0),h)for(var a;h.length;)(a=h.shift())()},addReadyCallback:function(a){a&&h.push(a)},waitToReady:!0},f=[],g=[],h=[];document.addEventListener("WebComponentsReady",function(){CustomElements.ready=!1}),a.queue=e,a.whenPolymerReady=d}(Polymer),function(a){function b(a,b){a?(document.head.appendChild(a),d(b)):b&&b()}function c(a,c){if(a&&a.length){for(var d,e,f=document.createDocumentFragment(),g=0,h=a.length;h>g&&(d=a[g]);g++)e=document.createElement("link"),e.rel="import",e.href=d,f.appendChild(e);b(f,c)}else c&&c()}var d=a.whenPolymerReady;a.import=c,a.importElements=b}(Polymer),function(a){function b(a){return Boolean(HTMLElement.getPrototypeForTag(a))}function c(a){return a&&a.indexOf("-")>=0}var d=a.extend,e=a.api,f=a.queue,g=a.whenPolymerReady,h=a.getRegisteredPrototype,i=a.waitingForPrototype,j=d(Object.create(HTMLElement.prototype),{createdCallback:function(){this.getAttribute("name")&&this.init()},init:function(){this.name=this.getAttribute("name"),this.extends=this.getAttribute("extends"),this.loadResources(),this.registerWhenReady()},registerWhenReady:function(){this.registered||this.waitingForPrototype(this.name)||this.waitingForQueue()||this.waitingForResources()||f.go(this)},_register:function(){c(this.extends)&&!b(this.extends)&&console.warn("%s is attempting to extend %s, an unregistered element or one that was not registered with Polymer.",this.name,this.extends),this.register(this.name,this.extends),this.registered=!0},waitingForPrototype:function(a){return h(a)?void 0:(i(a,this),this.handleNoScript(a),!0)},handleNoScript:function(a){if(this.hasAttribute("noscript")&&!this.noscript)if(this.noscript=!0,window.CustomElements&&!CustomElements.useNative)Polymer(a);else{var b=document.createElement("script");b.textContent="Polymer('"+a+"');",this.appendChild(b)}},waitingForResources:function(){return this._needsResources},waitingForQueue:function(){return f.wait(this,this.registerWhenReady,this._register)},loadResources:function(){this._needsResources=!0,this.loadStyles(function(){this._needsResources=!1,this.registerWhenReady()}.bind(this))}});e.publish(e.declaration,j),a.getRegisteredPrototype=h,g(function(){document.body.removeAttribute("unresolved"),document.dispatchEvent(new CustomEvent("polymer-ready",{bubbles:!0}))}),document.registerElement("polymer-element",{prototype:j})}(Polymer);
//# sourceMappingURL=polymer.js.map \ No newline at end of file
diff --git a/third_party/polymer/polymer/polymer.js.map b/third_party/polymer/polymer/polymer.js.map
index e9c9cfa4c3..93f483b46d 100644
--- a/third_party/polymer/polymer/polymer.js.map
+++ b/third_party/polymer/polymer/polymer.js.map
@@ -1 +1 @@
-{"version":3,"file":"polymer.js","sources":["../src/polymer.js","../src/boot.js","../src/lib/lang.js","../src/lib/job.js","../src/lib/dom.js","../src/lib/super.js","../src/lib/deserialize.js","../src/api.js","../src/instance/utils.js","../src/instance/events.js","../src/instance/attributes.js","../src/instance/properties.js","../src/instance/mdv.js","../src/instance/base.js","../src/instance/styles.js","../src/declaration/polymer.js","../src/declaration/path.js","../src/declaration/styles.js","../src/declaration/events.js","../src/declaration/properties.js","../src/declaration/attributes.js","../src/declaration/prototype.js","../src/declaration/queue.js","../src/declaration/import.js","../src/declaration/polymer-element.js"],"names":["Polymer","window","scope","extend","prototype","api","Object","getOwnPropertyNames","forEach","n","pd","getOwnPropertyDescriptor","defineProperty","value","nom","job","callback","wait","stop","Job","this","go","inContext","context","boundComplete","complete","bind","h","setTimeout","handle","clearTimeout","requestAnimationFrame","cancelAnimationFrame","call","registry","HTMLElement","register","tag","getPrototypeForTag","getPrototypeOf","document","createElement","originalStopPropagation","Event","stopPropagation","cancelBubble","apply","arguments","$super","arrayOfArgs","caller","_super","nameInThis","console","warn","memoizeSuper","fn","nextSuper","proto","name","method","p","__proto__","n$","i","l","length","d","super","deserializeValue","currentValue","inferredType","Date","typeHandlers","string","date","parse","now","boolean","number","parseFloat","parseInt","isNaN","object","JSON","replace","e","function","declaration","instance","publish","apis","utils","async","args","timeout","Platform","flush","cancelAsync","Math","round","fire","type","detail","onNode","bubbles","cancelable","node","event","CustomEvent","undefined","dispatchEvent","asyncFire","classFollows","anew","old","className","classList","remove","add","nop","nob","asyncMethod","log","logFlags","EVENT_PREFIX","events","addHostListeners","eventDelegates","keys","localName","bindable","eventName","self","PolymerExpressions","prepareEventBinding","Path","get","resolveEventHandler","model","path","getValueFrom","dispatchMethod","obj","group","groupEnd","attributes","copyInstanceAttributes","a$","_instanceAttributes","k","hasAttribute","setAttribute","takeAttributes","_publishLC","a","attributeToProperty","propertyForAttribute","search","bindPattern","match","stringValue","serializeValue","reflectPropertyToAttribute","serializedValue","removeAttribute","bindProperties","inA","inProperty","observable","LOG_BIND_PROPS","inB","inPath","v","discardChanges","setValue","Observer","defineComputedProperty","properties","observeProperties","_observeNames","pn$","_publishNames","o","_propertyObserver","CompoundObserver","addPath","observeArrayValue","observe","open","notifyPropertyChanges","newValues","oldValues","paths","called","invokeMethod","callbackName","Array","isArray","unregisterObserver","observer","ArrayObserver","registerObserver","bindProperty","property","unbindAllProperties","close","unregisterObservers","unbindProperty","o$","_observers","findEventController","parentNode","lightDomController","host","unbindNodeTree","forNodeTree","_nodeUnbindAll","unbindAll","child","firstChild","nextSibling","syntax","ctlr","mdv","instanceTemplate","template","createInstance","_elementPrepared","prepareElement","unbind","path_","bindings","mixinSuper","asyncUnbindAll","_unbound","_unbindAllJob","root","shadowRoot","olderShadowRoot","cancelUnbindAll","preventCascade","mustachePattern","isBase","hasOwnProperty","PolymerBase","preparingElements","base","created","ready","createdCallback","ownerDocument","defaultView","alwaysPrepare","shadowRoots","parseDeclarations","attachedCallback","attached","enteredView","hasBeenAttached","domReady","detachedCallback","preventDispose","detached","leftView","enteredViewCallback","leftViewCallback","enteredDocumentCallback","leftDocumentCallback","element","parseDeclaration","elementElement","fetchTemplate","shadowFromTemplate","querySelector","createShadowRoot","resetStyleInheritance","dom","appendChild","shadowRootReady","lightFromTemplate","marshalNodeReferences","PointerGestures","$","querySelectorAll","id","attributeChangedCallback","getAttribute","attributeChanged","onMutation","listener","MutationObserver","mutations","disconnect","childList","subtree","constructor","Base","shimCssText","cssText","is","selector","ShadowCSS","makeScopeSelector","STYLE_SCOPE_ATTRIBUTE","STYLE_CONTROLLER_SCOPE","styles","installControllerStyles","findStyleScope","scopeHasNamedStyle","cssTextForScope","installScopeCssText","installScopeStyle","style","s","textContent","ShadowDOMPolyfill","cssTextToScopeStyle","applyStyleToScope","_scopeStyles","getRegisteredPrototype","registerPrototype","notifyPrototype","waitingForPrototype","client","waitPrototype","registerWhenReady","prototypesByName","declarations","deliverDeclarations","resolveElementPaths","urlResolver","resolveDom","addResolvePathApi","assetPath","URL","baseURI","resolvePath","urlPath","u","href","importRuleForSheet","sheet","baseUrl","head","clone","createStyleElement","attr","cssTextFromSheet","__resource","matchesSelector","inSelector","matches","STYLE_SELECTOR","STYLE_LOADABLE_MATCH","SHEET_SELECTOR","STYLE_GLOBAL_SCOPE","SCOPE_ATTR","loadStyles","content","templateContent","convertSheetsToStyles","findLoadableStyles","styleResolver","c","s$","copySheetAttributes","replaceChild","link","loadables","push","installSheets","cacheSheets","cacheStyles","installLocalSheets","installGlobalStyles","sheets","findNodes","removeChild","filter","insertBefore","matcher","nodes","array","templateNodes","concat","styleForScope","scopeDescriptor","webkitMatchesSelector","mozMatchesSelector","parseHostEvents","delegates","addAttributeDelegates","hasEventPrefix","removeEventPrefix","trim","slice","prefixLength","inferObservers","explodeObservers","exploded","ni","names","split","optimizePropertyMaps","publishProperties","requireProperties","lowerCaseMap","map","toLowerCase","ATTRIBUTES_ATTRIBUTE","ATTRIBUTES_REGEX","inheritAttributesObjects","inheritObject","publishAttributes","accumulateInstanceAttributes","clonable","isInstanceAttribute","blackList","extends","noscript","assetpath","cache-csstext","ensurePrototypeTraversal","ancestor","extendeeName","buildPrototype","publishConstructor","extension","generateBasePrototype","desugarBeforeChaining","chainPrototypes","desugarAfterChaining","inheritMetaData","chained","chainObject","extendee","shimStyling","registerCallback","symbol","ctor","extnds","findBasePrototype","ensureBaseApi","memoizedBases","extended","create","mixinMethod","source","info","typeExtension","findTypeExtension","registerElement","indexOf","inherited","queueForElement","contains","mainQueue","importQueue","nextQueued","whenPolymerReady","queue","waitToReady","CustomElements","HTMLImports","whenImportsReady","addReadyCallback","check","__check","__go","useNative","readied","shift","nextElement","canReady","isEmpty","upgradeDocumentTree","readyCallbacks","addEventListener","importElements","elementOrFragment","importUrls","urls","url","frag","createDocumentFragment","rel","import","isRegistered","Boolean","isCustomTag","init","loadResources","registered","waitingForQueue","waitingForResources","_register","handleNoScript","script","_needsResources","body"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKAA,WCI8B,kBAAnBC,QAAOD,UAChBA,YCLF,SAAUE,GAGR,QAASC,GAAOC,EAAWC,GAiBzB,MAhBID,IAAaC,GAEfC,OAAOC,oBAAoBF,GAAKG,QAAQ,SAASC,GAE/C,GAAIC,GAAKJ,OAAOK,yBAAyBN,EAAKI,EAC1CC,KAEFJ,OAAOM,eAAeR,EAAWK,EAAGC,GAEb,kBAAZA,GAAGG,QAEZH,EAAGG,MAAMC,IAAML,MAKhBL,EAKTF,EAAMC,OAASA,GAEdH,SC1BH,SAAUE,GA6CR,QAASa,GAAIA,EAAKC,EAAUC,GAO1B,MANIF,GACFA,EAAIG,OAEJH,EAAM,GAAII,GAAIC,MAEhBL,EAAIM,GAAGL,EAAUC,GACVF,EAzCT,GAAII,GAAM,SAASG,GACjBF,KAAKG,QAAUD,EACfF,KAAKI,cAAgBJ,KAAKK,SAASC,KAAKN,MAE1CD,GAAIf,WACFiB,GAAI,SAASL,EAAUC,GACrBG,KAAKJ,SAAWA,CAChB,IAAIW,EACCV,IAMHU,EAAIC,WAAWR,KAAKI,cAAeP,GACnCG,KAAKS,OAAS,WACZC,aAAaH,MAPfA,EAAII,sBAAsBX,KAAKI,eAC/BJ,KAAKS,OAAS,WACZG,qBAAqBL,MAS3BT,KAAM,WACAE,KAAKS,SACPT,KAAKS,SACLT,KAAKS,OAAS,OAGlBJ,SAAU,WACJL,KAAKS,SACPT,KAAKF,OACLE,KAAKJ,SAASiB,KAAKb,KAAKG,YAiB9BrB,EAAMa,IAAMA,GAEXf,SC5DH,WAEE,GAAIkC,KAEJC,aAAYC,SAAW,SAASC,EAAKjC,GACnC8B,EAASG,GAAOjC,GAIlB+B,YAAYG,mBAAqB,SAASD,GACxC,GAAIjC,GAAaiC,EAA8BH,EAASG,GAAjCF,YAAY/B,SAEnC,OAAOA,IAAaE,OAAOiC,eAAeC,SAASC,cAAcJ,IAInE,IAAIK,GAA0BC,MAAMvC,UAAUwC,eAC9CD,OAAMvC,UAAUwC,gBAAkB,WAChCxB,KAAKyB,cAAe,EACpBH,EAAwBI,MAAM1B,KAAM2B,aASrC/C,SC5BF,SAAUE,GAgBP,QAAS8C,GAAOC,GAMd,GAAIC,GAASF,EAAOE,OAEhBpC,EAAMoC,EAAOpC,IAEbqC,EAASD,EAAOC,MAYpB,IAXKA,IACErC,IACHA,EAAMoC,EAAOpC,IAAMsC,EAAWnB,KAAKb,KAAM8B,IAEtCpC,GACHuC,QAAQC,KAAK,iFAIfH,EAASI,EAAaL,EAAQpC,EAAKyB,EAAenB,QAE/C+B,EAGE,CAEL,GAAIK,GAAKL,EAAOrC,EAOhB,OALK0C,GAAGL,QACNI,EAAaC,EAAI1C,EAAKqC,GAIjBK,EAAGV,MAAM1B,KAAM6B,QAI1B,QAASQ,GAAUC,EAAOC,EAAMT,GAE9B,KAAOQ,GAAO,CACZ,GAAKA,EAAMC,KAAUT,GAAWQ,EAAMC,GACpC,MAAOD,EAETA,GAAQnB,EAAemB,IAI3B,QAASH,GAAaK,EAAQD,EAAMD,GAUlC,MANAE,GAAOT,OAASM,EAAUC,EAAOC,EAAMC,GACnCA,EAAOT,SAGTS,EAAOT,OAAOQ,GAAM7C,IAAM6C,GAErBC,EAAOT,OAGhB,QAASC,GAAWvC,GAElB,IADA,GAAIgD,GAAIzC,KAAK0C,UACND,GAAKA,IAAM1B,YAAY/B,WAAW,CAGvC,IAAK,GAAsBK,GADvBsD,EAAKzD,OAAOC,oBAAoBsD,GAC3BG,EAAE,EAAGC,EAAEF,EAAGG,OAAaD,EAAFD,IAAQvD,EAAEsD,EAAGC,IAAKA,IAAK,CACnD,GAAIG,GAAI7D,OAAOK,yBAAyBkD,EAAGpD,EAC3C,IAAuB,kBAAZ0D,GAAEtD,OAAwBsD,EAAEtD,QAAUA,EAC/C,MAAOJ,GAGXoD,EAAIA,EAAEC,WAOV,QAASvB,GAAenC,GACtB,MAAOA,GAAU0D,UAkBnB5D,EAAMkE,MAAQpB,GAEfhD,SCnHH,SAAUE,GA8CR,QAASmE,GAAiBxD,EAAOyD,GAE/B,GAAIC,SAAsBD,EAM1B,OAJIA,aAAwBE,QAC1BD,EAAe,QAGVE,EAAaF,GAAc1D,EAAOyD,GApD3C,GAAIG,IACFC,OAAQ,SAAS7D,GACf,MAAOA,IAET8D,KAAM,SAAS9D,GACb,MAAO,IAAI2D,MAAKA,KAAKI,MAAM/D,IAAU2D,KAAKK,QAE5CC,UAAS,SAASjE,GAChB,MAAc,KAAVA,GACK,EAEQ,UAAVA,GAAoB,IAAUA,GAEvCkE,OAAQ,SAASlE,GACf,GAAIJ,GAAIuE,WAAWnE,EAKnB,OAHU,KAANJ,IACFA,EAAIwE,SAASpE,IAERqE,MAAMzE,GAAKI,EAAQJ,GAK5B0E,OAAQ,SAAStE,EAAOyD,GACtB,GAAqB,OAAjBA,EACF,MAAOzD,EAET,KAIE,MAAOuE,MAAKR,MAAM/D,EAAMwE,QAAQ,KAAM,MACtC,MAAMC,GAEN,MAAOzE,KAIX0E,WAAY,SAAS1E,EAAOyD,GAC1B,MAAOA,IAiBXpE,GAAMmE,iBAAmBA,GAExBrE,SC9DH,SAAUE,GAIR,GAAIC,GAASD,EAAMC,OAIfE,IAEJA,GAAImF,eACJnF,EAAIoF,YAEJpF,EAAIqF,QAAU,SAASC,EAAMvF,GAC3B,IAAK,GAAIK,KAAKkF,GACZxF,EAAOC,EAAWuF,EAAKlF,KAM3BP,EAAMG,IAAMA,GAEXL,SCvBH,SAAUE,GAER,GAAI0F,IASFC,MAAO,SAASjC,EAAQkC,EAAMC,GAG5BC,SAASC,QAETH,EAAQA,GAAQA,EAAK5B,OAAU4B,GAAQA,EAEvC,IAAItC,GAAK,YACNpC,KAAKwC,IAAWA,GAAQd,MAAM1B,KAAM0E,IACrCpE,KAAKN,MAEHS,EAASkE,EAAUnE,WAAW4B,EAAIuC,GAClChE,sBAAsByB,EAE1B,OAAOuC,GAAUlE,EAAS,EAAIA,GAEhCqE,YAAa,SAASrE,GACP,EAATA,EACFG,qBAAqBmE,KAAKC,MAAM,EAAIvE,IAEpCC,aAAaD,IAWjBwE,KAAM,SAASC,EAAMC,EAAQC,EAAQC,EAASC,GAC5C,GAAIC,GAAOH,GAAUpF,KACjBmF,EAASA,MACTK,EAAQ,GAAIC,aAAYP,GAC1BG,QAAsBK,SAAZL,EAAwBA,GAAU,EAC5CC,WAA4BI,SAAfJ,EAA2BA,GAAa,EACrDH,OAAQA,GAGV,OADAI,GAAKI,cAAcH,GACZA,GASTI,UAAW,WACT5F,KAAKyE,MAAM,OAAQ9C,YASrBkE,aAAc,SAASC,EAAMC,EAAKC,GAC5BD,GACFA,EAAIE,UAAUC,OAAOF,GAEnBF,GACFA,EAAKG,UAAUE,IAAIH,KAMrBI,EAAM,aAGNC,IAIJ7B,GAAM8B,YAAc9B,EAAMC,MAI1B3F,EAAMG,IAAIoF,SAASG,MAAQA,EAC3B1F,EAAMsH,IAAMA,EACZtH,EAAMuH,IAAMA,GAEXzH,SC/FH,SAAUE,GAIR,GAAIyH,GAAM1H,OAAO2H,aACbC,EAAe,MAGfC,GAEFD,aAAcA,EAEdE,iBAAkB,WAChB,GAAID,GAAS1G,KAAK4G,cAClBL,GAAIG,QAAWxH,OAAO2H,KAAKH,GAAQ5D,OAAS,GAAMb,QAAQsE,IAAI,yBAA0BvG,KAAK8G,UAAWJ,EAOxG,IAAiBK,GAAUC,EAAvBC,EAAOjH,IACX,KAAK,GAAIX,KAAKqH,GACZM,EAAYP,EAAepH,GAC3B0H,EAAWG,mBAAmBC,oBAC5BC,KAAKC,IAAIX,EAAOrH,IAChB2H,GAEEM,oBAAqB,SAASC,EAAOC,GACnC,GAAIpF,GAAKoF,EAAKC,aAAaR,EAC3B,OAAI7E,GACKA,EAAG9B,KAAK2G,GADjB,WAMGjH,KAAMA,MAAM,IAIzB0H,eAAgB,SAASC,EAAKnF,EAAQkC,GACpC,GAAIiD,EAAK,CACPpB,EAAIG,QAAUzE,QAAQ2F,MAAM,qBAAsBD,EAAIb,UAAWtE,EACjE,IAAIJ,GAAuB,kBAAXI,GAAwBA,EAASmF,EAAInF,EACjDJ,IACFA,EAAGsC,EAAO,QAAU,QAAQiD,EAAKjD,GAEnC6B,EAAIG,QAAUzE,QAAQ4F,WACtBjD,SAASC,UAOf/F,GAAMG,IAAIoF,SAASqC,OAASA,GAE3B9H,SC1DH,SAAUE,GAIR,GAAIgJ,IACFC,uBAAwB,WACtB,GAAIC,GAAKhI,KAAKiI,mBACd,KAAK,GAAIC,KAAKF,GACPhI,KAAKmI,aAAaD,IACrBlI,KAAKoI,aAAaF,EAAGF,EAAGE,KAK9BG,eAAgB,WAGd,GAAIrI,KAAKsI,WACP,IAAK,GAA0CC,GAAtC3F,EAAE,EAAGoF,EAAGhI,KAAK8H,WAAYjF,EAAEmF,EAAGlF,QAAYyF,EAAEP,EAAGpF,KAASC,EAAFD,EAAKA,IAClE5C,KAAKwI,oBAAoBD,EAAEhG,KAAMgG,EAAE9I,QAMzC+I,oBAAqB,SAASjG,EAAM9C,GAGlC,GAAI8C,GAAOvC,KAAKyI,qBAAqBlG,EACrC,IAAIA,EAAM,CAIR,GAAI9C,GAASA,EAAMiJ,OAAO5J,EAAM6J,cAAgB,EAC9C,MAGF,IAAIzF,GAAelD,KAAKuC,GAEpB9C,EAAQO,KAAKiD,iBAAiBxD,EAAOyD,EAErCzD,KAAUyD,IAEZlD,KAAKuC,GAAQ9C,KAKnBgJ,qBAAsB,SAASlG,GAC7B,GAAIqG,GAAQ5I,KAAKsI,YAActI,KAAKsI,WAAW/F,EAE/C,OAAOqG,IAGT3F,iBAAkB,SAAS4F,EAAa3F,GACtC,MAAOpE,GAAMmE,iBAAiB4F,EAAa3F,IAE7C4F,eAAgB,SAASrJ,EAAO0D,GAC9B,MAAqB,YAAjBA,EACK1D,EAAQ,GAAKiG,OACM,WAAjBvC,GAA8C,aAAjBA,GACvBuC,SAAVjG,EACEA,EAFF,QAKTsJ,2BAA4B,SAASxG,GACnC,GAAIY,SAAsBnD,MAAKuC,GAE3ByG,EAAkBhJ,KAAK8I,eAAe9I,KAAKuC,GAAOY,EAE9BuC,UAApBsD,EACFhJ,KAAKoI,aAAa7F,EAAMyG,GAME,YAAjB7F,GACTnD,KAAKiJ,gBAAgB1G,IAO3BzD,GAAMG,IAAIoF,SAASyD,WAAaA,GAE/BlJ,SCvFH,SAAUE,GA0HR,QAASoK,GAAeC,EAAKC,EAAYC,GACvC9C,EAAIjG,MAAQ2B,QAAQsE,IAAI+C,EAAgBC,IAAIzC,WAAa,SAAU0C,OAAQL,EAAIrC,UAAWsC,EAI1F,IAAIK,GAAIJ,EAAWK,gBAInB,QAHU,OAAND,GAAoB/D,SAAN+D,IAChBJ,EAAWM,SAASR,EAAIC,IAEnBQ,SAASC,uBAAuBV,EAAKC,EAAYC,GA/H1D,GAAI9C,GAAM1H,OAAO2H,aAUbsD,GACFC,kBAAmB,WACjB,GAAIpH,GAAK3C,KAAKgK,cAAeC,EAAMjK,KAAKkK,aACxC,IAAKvH,GAAMA,EAAGG,QAAYmH,GAAOA,EAAInH,OAAS,CAG5C,IAAK,GAAsBzD,GADvB8K,EAAInK,KAAKoK,kBAAoB,GAAIC,kBAC5BzH,EAAE,EAAGC,EAAEF,EAAGG,OAAcD,EAAFD,IAASvD,EAAEsD,EAAGC,IAAKA,IAAK,CACrDuH,EAAEG,QAAQtK,KAAMX,EAEhB,IAAIC,GAAKJ,OAAOK,yBAAyBS,KAAK0C,UAAWrD,EACrDC,IAAMA,EAAGG,OACXO,KAAKuK,kBAAkBlL,EAAGC,EAAGG,MAAO,MAGxC,IAAK,GAAuBJ,GAAnBuD,EAAE,EAAGC,EAAEoH,EAAInH,OAAcD,EAAFD,IAASvD,EAAE4K,EAAIrH,IAAKA,IAC7C5C,KAAKwK,SAAgC9E,SAApB1F,KAAKwK,QAAQnL,IACjC8K,EAAEG,QAAQtK,KAAMX,EAGpB8K,GAAEM,KAAKzK,KAAK0K,sBAAuB1K,QAGvC0K,sBAAuB,SAASC,EAAWC,EAAWC,GACpD,GAAItI,GAAMC,EAAQsI,IAClB,KAAK,GAAIlI,KAAKgI,GAEZrI,EAAOsI,EAAM,EAAIjI,EAAI,GACM8C,SAAvB1F,KAAKsE,QAAQ/B,IACfvC,KAAK+I,2BAA2BxG,GAElCC,EAASxC,KAAKwK,QAAQjI,GAClBC,IACFxC,KAAKuK,kBAAkBhI,EAAMoI,EAAU/H,GAAIgI,EAAUhI,IAChDkI,EAAOtI,KACVsI,EAAOtI,IAAU,EAEjBxC,KAAK+K,aAAavI,GAASoI,EAAUhI,GAAI+H,EAAU/H,GAAIjB,eAK/D4I,kBAAmB,SAAShI,EAAM9C,EAAOsG,GAEvC,GAAIiF,GAAehL,KAAKwK,QAAQjI,EAChC,IAAIyI,IAEEC,MAAMC,QAAQnF,KAChBQ,EAAIiE,SAAWvI,QAAQsE,IAAI,mDAAoDvG,KAAK8G,UAAWvE,GAC/FvC,KAAKmL,mBAAmB5I,EAAO,YAG7B0I,MAAMC,QAAQzL,IAAQ,CACxB8G,EAAIiE,SAAWvI,QAAQsE,IAAI,iDAAkDvG,KAAK8G,UAAWvE,EAAM9C,EACnG,IAAI2L,GAAW,GAAIC,eAAc5L,EACjC2L,GAASX,KAAK,SAAShL,EAAOsG,GAC5B/F,KAAK+K,aAAaC,GAAejF,KAChC/F,MACHA,KAAKsL,iBAAiB/I,EAAO,UAAW6I,KAI9CG,aAAc,SAASC,EAAUnC,GAE/B,MAAOH,GAAelJ,KAAMwL,EAAUnC,IAExCoC,oBAAqB,WACfzL,KAAKoK,mBACPpK,KAAKoK,kBAAkBsB,QAEzB1L,KAAK2L,uBAEPC,eAAgB,SAASrJ,GACvB,MAAOvC,MAAKmL,mBAAmB5I,IAEjCwI,aAAc,SAASvI,EAAQkC,GAC7B,GAAItC,GAAKpC,KAAKwC,IAAWA,CACP,mBAAPJ,IACTA,EAAGV,MAAM1B,KAAM0E,IAInB4G,iBAAkB,SAAS/I,EAAM6I,GAC/B,GAAIS,GAAK7L,KAAK8L,aAAe9L,KAAK8L,cAClCD,GAAGtJ,GAAQ6I,GAEbD,mBAAoB,SAAS5I,GAC3B,GAAIsJ,GAAK7L,KAAK8L,UACd,OAAID,IAAMA,EAAGtJ,IACXsJ,EAAGtJ,GAAMmJ,QACTG,EAAGtJ,GAAQ,MACJ,GAHT,QAMFoJ,oBAAqB,WACnB,GAAI3L,KAAK8L,WAAY,CAEnB,IAAK,GAAwB5D,GAAGiC,EAD5BtD,EAAK3H,OAAO2H,KAAK7G,KAAK8L,YACjBlJ,EAAE,EAAGC,EAAEgE,EAAK/D,OAAmBD,EAAJD,IAAWsF,EAAErB,EAAKjE,IAAKA,IACzDuH,EAAInK,KAAK8L,WAAW5D,GACpBiC,EAAEuB,OAEJ1L,MAAK8L,iBAwBPxC,EAAiB,yCAIrBxK,GAAMG,IAAIoF,SAASyF,WAAaA,GAE/BlL,SChJH,SAAUE,GAqBR,QAASiN,GAAoBxG,GAC3B,KAAOA,EAAKyG,YAAY,CACtB,GAAIzG,EAAK0G,mBACP,MAAO1G,EAETA,GAAOA,EAAKyG,WAEd,MAAOzG,GAAK2G,KA2Ed,QAASC,GAAe5G,GACtB6G,EAAY7G,EAAM8G,GAGpB,QAASA,GAAe9G,GACtBA,EAAK+G,YAGP,QAASF,GAAY7G,EAAM3F,GACzB,GAAI2F,EAAM,CACR3F,EAAS2F,EACT,KAAK,GAAIgH,GAAQhH,EAAKiH,WAAYD,EAAOA,EAAQA,EAAME,YACrDL,EAAYG,EAAO3M,IA/GzB,GAAI2G,GAAM1H,OAAO2H,UAAY,EAGzBkG,GAFS5N,EAAMG,IAAIoF,SAASqC,OAEnB,GAAIQ,oBACjBwF,GAAOpF,oBAAsB,SAASC,EAAOC,EAAMjC,GACjD,GAAIoH,GAAOZ,EAAoBxG,EAC/B,IAAIoH,EAAM,CACR,GAAIvK,GAAKoF,EAAKC,aAAakF,EAC3B,IAAIvK,EACF,MAAOA,GAAG9B,KAAKqM,IAoBrB,IAAIC,IACFF,OAAQA,EACRG,iBAAkB,SAASC,GACzB,MAAOA,GAASC,eAAe/M,KAAMA,KAAK0M,SAE5CpM,KAAM,SAASiC,EAAM8G,GAGdrJ,KAAKgN,kBACRhN,KAAKiN,gBAEP,IAAIzB,GAAWxL,KAAKyI,qBAAqBlG,EACzC,IAAKiJ,EAIE,CAELxL,KAAKkN,OAAO3K,EAEZ,IAAI6I,GAAWpL,KAAKuL,aAAaC,EAAUnC,EAO3C,OALA+B,GAAS5D,KAAO6B,EAAW8D,MAI3BnN,KAAK+I,2BAA2ByC,GACzBxL,KAAKoN,SAAS7K,GAAQ6I,EAZ7B,MAAOpL,MAAKqN,WAAW1L,YAe3B2L,eAAgB,WACTtN,KAAKuN,WACRhH,EAAI2G,QAAUjL,QAAQsE,IAAI,sBAAuBvG,KAAK8G,WACtD9G,KAAKwN,cAAgBxN,KAAKL,IAAIK,KAAKwN,cAAexN,KAAKsM,UAAW,KAGtEA,UAAW,WACT,IAAKtM,KAAKuN,SAAU,CAClBvN,KAAKyL,sBACLzL,KAAKgD,OAGL,KADA,GAAIyK,GAAOzN,KAAK0N,WACTD,GACLtB,EAAesB,GACfA,EAAOA,EAAKE,eAEd3N,MAAKuN,UAAW,IAGpBK,gBAAiB,SAASC,GACxB,MAAI7N,MAAKuN,cACPhH,EAAI2G,QAAUjL,QAAQC,KAAK,gDAAiDlC,KAAK8G,aAGnFP,EAAI2G,QAAUjL,QAAQsE,IAAI,uBAAwBvG,KAAK8G,WACnD9G,KAAKwN,gBACPxN,KAAKwN,cAAgBxN,KAAKwN,cAAc1N,aAIrC+N,GACHzB,EAAYpM,KAAK0N,WAAY,SAASrO,GAChCA,EAAEuO,iBACJvO,EAAEuO,wBAwBRE,EAAkB,gBAItBhP,GAAM6J,YAAcmF,EACpBhP,EAAMG,IAAIoF,SAASuI,IAAMA,GAExBhO,SC/HH,SAAUE,GAsMR,QAASiP,GAAOhK,GACd,MAAOA,GAAOiK,eAAe,eAK/B,QAASC,MA3MT,GAAIC,GAAoB,EAEpBC,GACFF,aAAa,EACbtO,IAAKf,QAAQe,IACbqD,QAAOpE,QAAQoE,MAEfoL,QAAS,aAITC,MAAO,aAEPC,gBAAiB,WACftO,KAAKoO,WACDpO,KAAKuO,cAAcC,aAAexO,KAAKyO,eACvCP,EAAoB,IACtBlO,KAAKiN,kBAITA,eAAgB,WACdjN,KAAKgN,kBAAmB,EAExBhN,KAAK0O,eAEL1O,KAAK+J,oBAEL/J,KAAK+H,yBAEL/H,KAAKqI,iBAELrI,KAAK2G,mBAGLuH,IAEAlO,KAAK2O,kBAAkB3O,KAAK0C,WAE5BwL,IAIAlO,KAAKiJ,gBAAgB,cAErBjJ,KAAKqO,SAEPO,iBAAkB,WACX5O,KAAKgN,kBACRhN,KAAKiN,iBAEPjN,KAAK4N,iBAAgB,GAEjB5N,KAAK6O,UACP7O,KAAK6O,WAGH7O,KAAK8O,aACP9O,KAAK8O,cAMF9O,KAAK+O,kBACR/O,KAAK+O,iBAAkB,EACnB/O,KAAKgP,UACPhP,KAAKyE,MAAM,cAIjBwK,iBAAkB,WACXjP,KAAKkP,gBACRlP,KAAKsN,iBAGHtN,KAAKmP,UACPnP,KAAKmP,WAGHnP,KAAKoP,UACPpP,KAAKoP,YAITC,oBAAqB,WACnBrP,KAAK4O,oBAGPU,iBAAkB,WAChBtP,KAAKiP,oBAGPM,wBAAyB,WACvBvP,KAAK4O,oBAGPY,qBAAsB,WACpBxP,KAAKiP,oBAGPN,kBAAmB,SAASlM,GACtBA,GAAKA,EAAEgN,UACTzP,KAAK2O,kBAAkBlM,EAAEC,WACzBD,EAAEiN,iBAAiB7O,KAAKb,KAAMyC,EAAEgN,WAIpCC,iBAAkB,SAASC,GACzB,GAAI7C,GAAW9M,KAAK4P,cAAcD,EAClC,IAAI7C,EAAU,CACZ,GAAIW,GAAOzN,KAAK6P,mBAAmB/C,EACnC9M,MAAK0O,YAAYiB,EAAepN,MAAQkL,IAI5CmC,cAAe,SAASD,GACtB,MAAOA,GAAeG,cAAc,aAGtCD,mBAAoB,SAAS/C,GAC3B,GAAIA,EAAU,CAEZ,GAAIW,GAAOzN,KAAK+P,kBAEhBtC,GAAKuC,sBAAwBhQ,KAAKgQ,qBAKlC,IAAIC,GAAMjQ,KAAK6M,iBAAiBC,EAMhC,OAJAW,GAAKyC,YAAYD,GAEjBjQ,KAAKmQ,gBAAgB1C,EAAMX,GAEpBW,IAIX2C,kBAAmB,SAAStD,GAC1B,GAAIA,EAAU,CAKZ9M,KAAKiM,oBAAqB,CAK1B,IAAIgE,GAAMjQ,KAAK6M,iBAAiBC,EAMhC,OAJA9M,MAAKkQ,YAAYD,GAEjBjQ,KAAKmQ,gBAAgBnQ,KAAM8M,GAEpBmD,IAGXE,gBAAiB,SAAS1C,GAExBzN,KAAKqQ,sBAAsB5C,GAE3B6C,gBAAgBtP,SAASyM,IAG3B4C,sBAAuB,SAAS5C,GAE9B,GAAI8C,GAAIvQ,KAAKuQ,EAAIvQ,KAAKuQ,KAEtB,IAAI9C,EAEF,IAAK,GAAsBpO,GADvBsD,EAAK8K,EAAK+C,iBAAiB,QACtB5N,EAAE,EAAGC,EAAEF,EAAGG,OAAcD,EAAFD,IAASvD,EAAEsD,EAAGC,IAAKA,IAChD2N,EAAElR,EAAEoR,IAAMpR,GAIhBqR,yBAA0B,SAASnO,GAEpB,UAATA,GAA6B,UAATA,GACtBvC,KAAKwI,oBAAoBjG,EAAMvC,KAAK2Q,aAAapO,IAE/CvC,KAAK4Q,kBACP5Q,KAAK4Q,iBAAiBlP,MAAM1B,KAAM2B,YAGtCkP,WAAY,SAAStL,EAAMuL,GACzB,GAAI1F,GAAW,GAAI2F,kBAAiB,SAASC,GAC3CF,EAASjQ,KAAKb,KAAMoL,EAAU4F,GAC9B5F,EAAS6F,cACT3Q,KAAKN,MACPoL,GAASZ,QAAQjF,GAAO2L,WAAW,EAAMC,SAAS,KAYtDlD,GAAYjP,UAAYmP,EACxBA,EAAKiD,YAAcnD,EAInBnP,EAAMuS,KAAOpD,EACbnP,EAAMiP,OAASA,EACfjP,EAAMG,IAAIoF,SAAS8J,KAAOA,GAEzBvP,SCtNH,SAAUE,GA8ER,QAASqC,GAAenC,GACtB,MAAOA,GAAU0D,UAGnB,QAAS4O,GAAYC,EAASrF,GAC5B,GAAI3J,GAAO,GAAIiP,GAAK,CAChBtF,KACF3J,EAAO2J,EAAKpF,UACZ0K,EAAKtF,EAAK/D,aAAa,MAEzB,IAAIsJ,GAAW7M,SAAS8M,UAAUC,kBAAkBpP,EAAMiP,EAC1D,OAAO5M,UAAS8M,UAAUJ,YAAYC,EAASE,GArFjD,GAIIG,IAJM/S,OAAO2H,aAIW,WACxBqL,EAAyB,aAEzBC,GACFF,sBAAuBA,EAMvBG,wBAAyB,WAEvB,GAAIjT,GAAQkB,KAAKgS,gBACjB,IAAIlT,IAAUkB,KAAKiS,mBAAmBnT,EAAOkB,KAAK8G,WAAY,CAG5D,IADA,GAAIxE,GAAQnB,EAAenB,MAAOuR,EAAU,GACrCjP,GAASA,EAAMmN,SACpB8B,GAAWjP,EAAMmN,QAAQyC,gBAAgBL,GACzCvP,EAAQnB,EAAemB,EAErBiP,IACFvR,KAAKmS,oBAAoBZ,EAASzS,KAIxCsT,kBAAmB,SAASC,EAAO9P,GACjC,GAAIzD,GAAQkB,KAAKgS,iBAAkBzP,EAAOA,GAAQ,EAClD,IAAIzD,IAAUkB,KAAKiS,mBAAmBnT,EAAOkB,KAAK8G,UAAYvE,GAAO,CACnE,GAAIgP,GAAU,EACd,IAAIc,YAAiBpH,OACnB,IAAK,GAAyBqH,GAArB1P,EAAE,EAAGC,EAAEwP,EAAMvP,OAAcD,EAAFD,IAAS0P,EAAED,EAAMzP,IAAKA,IACtD2O,GAAWe,EAAEC,YAAc,WAG7BhB,GAAUc,EAAME,WAElBvS,MAAKmS,oBAAoBZ,EAASzS,EAAOyD,KAG7C4P,oBAAqB,SAASZ,EAASzS,EAAOyD,GAG5C,GAFAzD,EAAQA,GAASkB,KAAKgS,iBACtBzP,EAAOA,GAAQ,GACVzD,EAAL,CAGID,OAAO2T,oBACTjB,EAAUD,EAAYC,EAASzS,EAAMoN,MAEvC,IAAImG,GAAQrS,KAAKyP,QAAQgD,oBAAoBlB,EACzCM,EACJjT,SAAQ8T,kBAAkBL,EAAOvT,GAEjCA,EAAM6T,aAAa3S,KAAK8G,UAAYvE,IAAQ,IAE9CyP,eAAgB,WAGd,IADA,GAAI3S,GAAIW,KACDX,EAAE2M,YACP3M,EAAIA,EAAE2M,UAER,OAAO3M,IAET4S,mBAAoB,SAASnT,EAAOyD,GAElC,MADAzD,GAAM6T,aAAe7T,EAAM6T,iBACpB7T,EAAM6T,aAAapQ,IAsB9BzD,GAAMG,IAAIoF,SAASyN,OAASA,GAE3BlT,SChGH,SAAUE,GAUR,QAAS2Q,GAAQlN,EAAMvD,GACrB,GAAI4T,EAAuBrQ,GACzB,KAAM,sDAAwDA,CAGhEsQ,GAAkBtQ,EAAMvD,GAExB8T,EAAgBvQ,GAKlB,QAASwQ,GAAoBxQ,EAAMyQ,GACjCC,EAAc1Q,GAAQyQ,EAKxB,QAASF,GAAgBvQ,GACnB0Q,EAAc1Q,KAChB0Q,EAAc1Q,GAAM2Q,0BACbD,GAAc1Q,IAgBzB,QAASsQ,GAAkBtQ,EAAMvD,GAC/B,MAAOmU,GAAiB5Q,GAAQvD,MAGlC,QAAS4T,GAAuBrQ,GAC9B,MAAO4Q,GAAiB5Q,GAhD1B,GAAIxD,GAASD,EAAMC,OAsBfkU,GArBMnU,EAAMG,QAwCZkU,IAYJrU,GAAM8T,uBAAyBA,EAC/B9T,EAAMiU,oBAAsBA,EAO5BlU,OAAOD,QAAU6Q,EAKjB1Q,EAAOH,QAASE,EAOhB,IAAIsU,GAAexO,SAASyO,qBAC5B,IAAID,EACF,IAAK,GAAgCrQ,GAA5BH,EAAE,EAAGC,EAAEuQ,EAAatQ,OAAcD,EAAFD,IAASG,EAAEqQ,EAAaxQ,IAAKA,IACpE6M,EAAQ/N,MAAM,KAAMqB,IAIvBnE,SCnFH,SAAUE,GAEV,GAAI0I,IACF8L,oBAAqB,SAAS/N,GAC5BX,SAAS2O,YAAYC,WAAWjO,IAElCkO,kBAAmB,WAEjB,GAAIC,GAAY1T,KAAK2Q,aAAa,cAAgB,GAC9ClD,EAAO,GAAIkG,KAAID,EAAW1T,KAAKuO,cAAcqF,QACjD5T,MAAKhB,UAAU6U,YAAc,SAASC,EAAS3F,GAC7C,GAAI4F,GAAI,GAAIJ,KAAIG,EAAS3F,GAAQV,EACjC,OAAOsG,GAAEC,OAMflV,GAAMG,IAAImF,YAAYoD,KAAOA,GAE1B5I,SCrBH,SAAUE,GA2KR,QAASmV,GAAmBC,EAAOC,GACjC,GAAIH,GAAO,GAAIL,KAAIO,EAAMvD,aAAa,QAASwD,GAASH,IACxD,OAAO,YAAeA,EAAO,KAG/B,QAAStB,GAAkBL,EAAOvT,GAChC,GAAIuT,EAAO,CACLvT,IAAUsC,WACZtC,EAAQsC,SAASgT,MAEfvV,OAAO2T,oBACT1T,EAAQsC,SAASgT,KAOnB,IAAIC,GAAQC,EAAmBjC,EAAME,aACjCgC,EAAOlC,EAAM1B,aAAaiB,EAC1B2C,IACFF,EAAMjM,aAAawJ,EAAuB2C,GAE5CzV,EAAMoR,YAAYmE,IAItB,QAASC,GAAmB/C,EAASzS,GACnCA,EAAQA,GAASsC,SACjBtC,EAAQA,EAAMuC,cAAgBvC,EAAQA,EAAMyP,aAC5C,IAAI8D,GAAQvT,EAAMuC,cAAc,QAEhC,OADAgR,GAAME,YAAchB,EACbc,EAGT,QAASmC,GAAiBN,GACxB,MAAQA,IAASA,EAAMO,YAAe,GAGxC,QAASC,GAAgBnP,EAAMoP,GAC7B,MAAIC,GACKA,EAAQ/T,KAAK0E,EAAMoP,GAD5B,OA/MF,GACI1V,IADMJ,OAAO2H,aACP1H,EAAMG,IAAIoF,SAASyN,QACzBF,EAAwB3S,EAAI2S,sBAI5BiD,EAAiB,QACjBC,EAAuB,UACvBC,EAAiB,uBACjBC,EAAqB,SACrBC,EAAa,gBAEbnD,GAEFoD,WAAY,SAAStV,GACnB,GAAIuV,GAAUnV,KAAKoV,iBACfD,IACFnV,KAAKqV,sBAAsBF,EAE7B,IAAIrD,GAAS9R,KAAKsV,mBAAmBH,EACjCrD,GAAOhP,OACT8B,SAAS2Q,cAAcL,WAAWpD,EAAQlS,GACjCA,GACTA,KAGJyV,sBAAuB,SAAS5H,GAE9B,IAAK,GAAsB6E,GAAGkD,EAD1BC,EAAKhI,EAAK+C,iBAAiBuE,GACtBnS,EAAE,EAAGC,EAAE4S,EAAG3S,OAAiBD,EAAFD,IAAS0P,EAAEmD,EAAG7S,IAAKA,IACnD4S,EAAIlB,EAAmBL,EAAmB3B,EAAGtS,KAAKuO,cAAcqF,SAC5D5T,KAAKuO,eACTvO,KAAK0V,oBAAoBF,EAAGlD,GAC5BA,EAAEtG,WAAW2J,aAAaH,EAAGlD,IAGjCoD,oBAAqB,SAASrD,EAAOuD,GACnC,IAAK,GAA0CrN,GAAtC3F,EAAE,EAAGoF,EAAG4N,EAAK9N,WAAYjF,EAAEmF,EAAGlF,QAAYyF,EAAEP,EAAGpF,KAASC,EAAFD,EAAKA,IACnD,QAAX2F,EAAEhG,MAA6B,SAAXgG,EAAEhG,MACxB8P,EAAMjK,aAAaG,EAAEhG,KAAMgG,EAAE9I,QAInC6V,mBAAoB,SAAS7H,GAC3B,GAAIoI,KACJ,IAAIpI,EAEF,IAAK,GAAsB6E,GADvBmD,EAAKhI,EAAK+C,iBAAiBqE,GACtBjS,EAAE,EAAGC,EAAE4S,EAAG3S,OAAcD,EAAFD,IAAS0P,EAAEmD,EAAG7S,IAAKA,IAC5C0P,EAAEC,YAAY3J,MAAMkM,IACtBe,EAAUC,KAAKxD,EAIrB,OAAOuD,IAOTE,cAAe,WACb/V,KAAKgW,cACLhW,KAAKiW,cACLjW,KAAKkW,qBACLlW,KAAKmW,uBAKPH,YAAa,WACXhW,KAAKoW,OAASpW,KAAKqW,UAAUtB,GAC7B/U,KAAKoW,OAAOhX,QAAQ,SAASkT,GACvBA,EAAEtG,YACJsG,EAAEtG,WAAWsK,YAAYhE,MAI/B2D,YAAa,WACXjW,KAAK8R,OAAS9R,KAAKqW,UAAUxB,EAAiB,IAAMI,EAAa,KACjEjV,KAAK8R,OAAO1S,QAAQ,SAASkT,GACvBA,EAAEtG,YACJsG,EAAEtG,WAAWsK,YAAYhE,MAa/B4D,mBAAoB,WAClB,GAAIE,GAASpW,KAAKoW,OAAOG,OAAO,SAASjE,GACvC,OAAQA,EAAEnK,aAAa8M,KAErBE,EAAUnV,KAAKoV,iBACnB,IAAID,EAAS,CACX,GAAI5D,GAAU,EAId,IAHA6E,EAAOhX,QAAQ,SAAS8U,GACtB3C,GAAWiD,EAAiBN,GAAS,OAEnC3C,EAAS,CACX,GAAIc,GAAQiC,EAAmB/C,EAASvR,KAAKuO,cAC7C4G,GAAQqB,aAAanE,EAAO8C,EAAQ3I,eAI1C6J,UAAW,SAAS5E,EAAUgF,GAC5B,GAAIC,GAAQ1W,KAAKwQ,iBAAiBiB,GAAUkF,QACxCxB,EAAUnV,KAAKoV,iBACnB,IAAID,EAAS,CACX,GAAIyB,GAAgBzB,EAAQ3E,iBAAiBiB,GAAUkF,OACvDD,GAAQA,EAAMG,OAAOD,GAEvB,MAAOH,GAAUC,EAAMH,OAAOE,GAAWC,GAE3CtB,gBAAiB,WACf,GAAItI,GAAW9M,KAAK8P,cAAc,WAClC,OAAOhD,IAAYsI,gBAAgBtI,IAWrCqJ,oBAAqB,WACnB,GAAI9D,GAAQrS,KAAK8W,cAAc9B,EAC/BtC,GAAkBL,EAAOjR,SAASgT,OAEpClC,gBAAiB,SAAS6E,GACxB,GAAIxF,GAAU,GAEVE,EAAW,IAAMwD,EAAa,IAAM8B,EAAkB,IACtDN,EAAU,SAASnE,GACrB,MAAOoC,GAAgBpC,EAAGb,IAExB2E,EAASpW,KAAKoW,OAAOG,OAAOE,EAChCL,GAAOhX,QAAQ,SAAS8U,GACtB3C,GAAWiD,EAAiBN,GAAS,QAGvC,IAAIpC,GAAS9R,KAAK8R,OAAOyE,OAAOE,EAIhC,OAHA3E,GAAO1S,QAAQ,SAASiT,GACtBd,GAAWc,EAAME,YAAc,SAE1BhB,GAETuF,cAAe,SAASC,GACtB,GAAIxF,GAAUvR,KAAKkS,gBAAgB6E,EACnC,OAAO/W,MAAKyS,oBAAoBlB,EAASwF,IAE3CtE,oBAAqB,SAASlB,EAASwF,GACrC,GAAIxF,EAAS,CACX,GAAIc,GAAQiC,EAAmB/C,EAG/B,OAFAc,GAAMjK,aAAawJ,EAAuB5R,KAAK2Q,aAAa,QACxD,IAAMoG,GACH1E,KAiDT5P,EAAI1B,YAAY/B,UAChB4V,EAAUnS,EAAEmS,SAAWnS,EAAEiS,iBAAmBjS,EAAEuU,uBAC3CvU,EAAEwU,kBAITnY,GAAMG,IAAImF,YAAY0N,OAASA,EAC/BhT,EAAM4T,kBAAoBA,GAEzB9T,SC/NH,SAAUE,GAIR,GACIG,IADMJ,OAAO2H,aACP1H,EAAMG,IAAIoF,SAASqC,QACzBD,EAAexH,EAAIwH,aAGnBC,GACFwQ,gBAAiB,WAEf,GAAIC,GAAYnX,KAAKhB,UAAU4H,cAE/B5G,MAAKoX,sBAAsBD,IAE7BC,sBAAuB,SAASD,GAE9B,IAAK,GAAS5O,GAAL3F,EAAE,EAAM2F,EAAEvI,KAAK8H,WAAWlF,GAAIA,IAEjC5C,KAAKqX,eAAe9O,EAAEhG,QAExB4U,EAAUnX,KAAKsX,kBAAkB/O,EAAEhG,OAASgG,EAAE9I,MAAMwE,QAAQ,KAAM,IAC7DA,QAAQ,KAAM,IAAIsT,SAK7BF,eAAgB,SAAUhY,GACxB,MAAOA,IAAe,MAATA,EAAE,IAAyB,MAATA,EAAE,IAAyB,MAATA,EAAE,IAErDiY,kBAAmB,SAASjY,GAC1B,MAAOA,GAAEmY,MAAMC,KAIfA,EAAehR,EAAa3D,MAGhChE,GAAMG,IAAImF,YAAYsC,OAASA,GAE9B9H,SC1CH,SAAUE,GAIR,GAAIgL,IACF4N,eAAgB,SAAS1Y,GAEvB,GAAiCwM,GAA7BhB,EAAUxL,EAAUwL,OACxB,KAAK,GAAInL,KAAKL,GACQ,YAAhBK,EAAEmY,MAAM,MACLhN,IACHA,EAAYxL,EAAUwL,YAExBgB,EAAWnM,EAAEmY,MAAM,EAAG,IACtBhN,EAAQgB,GAAYhB,EAAQgB,IAAanM,IAI/CsY,iBAAkB,SAAS3Y,GAEzB,GAAImL,GAAInL,EAAUwL,OAClB,IAAIL,EAAG,CACL,GAAIyN,KACJ,KAAK,GAAIvY,KAAK8K,GAEZ,IAAK,GAAS0N,GADVC,EAAQzY,EAAE0Y,MAAM,KACXnV,EAAE,EAAOiV,EAAGC,EAAMlV,GAAIA,IAC7BgV,EAASC,GAAM1N,EAAE9K,EAGrBL,GAAUwL,QAAUoN,IAGxBI,qBAAsB,SAAShZ,GAC7B,GAAIA,EAAUwL,QAAS,CAErB,GAAIjC,GAAIvJ,EAAUgL,gBAClB,KAAK,GAAI3K,KAAKL,GAAUwL,QAEtB,IAAK,GAASqN,GADVC,EAAQzY,EAAE0Y,MAAM,KACXnV,EAAE,EAAOiV,EAAGC,EAAMlV,GAAIA,IAC7B2F,EAAEuN,KAAK+B,GAKb,GAAI7Y,EAAUsF,QAAS,CAErB,GAAIiE,GAAIvJ,EAAUkL,gBAClB,KAAK,GAAI7K,KAAKL,GAAUsF,QACtBiE,EAAEuN,KAAKzW,KAIb4Y,kBAAmB,SAASjZ,EAAWmP,GAErC,GAAI7J,GAAUtF,EAAUsF,OACpBA,KAEFtE,KAAKkY,kBAAkB5T,EAAStF,EAAWmP,GAE3CnP,EAAUsJ,WAAatI,KAAKmY,aAAa7T,KAG7C4T,kBAAmB,SAASpO,EAAY9K,EAAWmP,GAEjD,IAAK,GAAI9O,KAAKyK,GACSpE,SAAjB1G,EAAUK,IAAgCqG,SAAZyI,EAAK9O,KACrCL,EAAUK,GAAKyK,EAAWzK,KAIhC8Y,aAAc,SAASrO,GACrB,GAAIsO,KACJ,KAAK,GAAI/Y,KAAKyK,GACZsO,EAAI/Y,EAAEgZ,eAAiBhZ,CAEzB,OAAO+Y,IAMXtZ,GAAMG,IAAImF,YAAY0F,WAAaA,GAElClL,SCnFH,SAAUE,GAIR,GAAIwZ,GAAuB,aACvBC,EAAmB,OAInBzQ,GACF0Q,yBAA0B,SAASxZ,GAEjCgB,KAAKyY,cAAczZ,EAAW,aAE9BgB,KAAKyY,cAAczZ,EAAW,wBAEhC0Z,kBAAmB,SAAS1Z,EAAWmP,GAErC,GAAIrG,GAAa9H,KAAK2Q,aAAa2H,EACnC,IAAIxQ,EAMF,IAAK,GAAyBzI,GAJ1BiF,EAAUtF,EAAUsF,UAAYtF,EAAUsF,YAE1CwT,EAAQhQ,EAAWiQ,MAAMQ,GAEpB3V,EAAE,EAAGC,EAAEiV,EAAMhV,OAAaD,EAAFD,EAAKA,IAEpCvD,EAAIyY,EAAMlV,GAAG2U,OAETlY,GAAoBqG,SAAfpB,EAAQjF,IAAgCqG,SAAZyI,EAAK9O,KACxCiF,EAAQjF,GAAK,OAMrBsZ,6BAA8B,WAK5B,IAAK,GAAsBpQ,GAHvBqQ,EAAW5Y,KAAKhB,UAAUiJ,oBAE1BD,EAAKhI,KAAK8H,WACLlF,EAAE,EAAGC,EAAEmF,EAAGlF,OAAcD,EAAFD,IAAS2F,EAAEP,EAAGpF,IAAKA,IAC5C5C,KAAK6Y,oBAAoBtQ,EAAEhG,QAC7BqW,EAASrQ,EAAEhG,MAAQgG,EAAE9I,QAI3BoZ,oBAAqB,SAAStW,GAC5B,OAAQvC,KAAK8Y,UAAUvW,IAA6B,QAApBA,EAAKiV,MAAM,EAAE,IAG/CsB,WACEvW,KAAM,EACNwW,UAAW,EACX3H,YAAa,EACb4H,SAAU,EACVC,UAAW,EACXC,gBAAiB,GAKrBpR,GAAWgR,UAAUR,GAAwB,EAI7CxZ,EAAMG,IAAImF,YAAY0D,WAAaA,GAElClJ,SCpEH,SAAUE,GA+NR,QAASqa,GAAyBna,GAChC,IAAKE,OAAOwD,UAAW,CACrB,GAAI0W,GAAWla,OAAOiC,eAAenC,EACrCA,GAAU0D,UAAY0W,EAClBrL,EAAOqL,KACTA,EAAS1W,UAAYxD,OAAOiC,eAAeiY,KAhOjD,GAAIna,GAAMH,EAAMG,IACZ8O,EAASjP,EAAMiP,OACfhP,EAASD,EAAMC,OAIfC,GAEFgC,SAAU,SAASuB,EAAM8W,GAEvBrZ,KAAKsZ,eAAe/W,EAAM8W,GAE1BrZ,KAAK6S,kBAAkBtQ,EAAM8W,GAE7BrZ,KAAKuZ,sBAGPD,eAAgB,SAAS/W,EAAM8W,GAE7B,GAAIG,GAAY1a,EAAM8T,uBAAuBrQ,GAEzC4L,EAAOnO,KAAKyZ,sBAAsBJ,EAEtCrZ,MAAK0Z,sBAAsBF,EAAWrL,GAEtCnO,KAAKhB,UAAYgB,KAAK2Z,gBAAgBH,EAAWrL,GAEjDnO,KAAK4Z,qBAAqBrX,EAAM8W,IAGlCK,sBAAuB,SAAS1a,EAAWmP,GAGzCnP,EAAUyQ,QAAUzP,KAEpBA,KAAK0Y,kBAAkB1Z,EAAWmP,GAElCnO,KAAKiY,kBAAkBjZ,EAAWmP,GAElCnO,KAAK0X,eAAe1Y,GAEpBgB,KAAK2X,iBAAiB3Y,IAGxB2a,gBAAiB,SAAS3a,EAAWmP,GAEnCnO,KAAK6Z,gBAAgB7a,EAAWmP,EAEhC,IAAI2L,GAAU9Z,KAAK+Z,YAAY/a,EAAWmP,EAG1C,OADAgL,GAAyBW,GAClBA,GAGTD,gBAAiB,SAAS7a,EAAWmP,GAEnCnO,KAAKyY,cAAc,UAAWzZ,EAAWmP,GAEzCnO,KAAKyY,cAAc,UAAWzZ,EAAWmP,GAEzCnO,KAAKyY,cAAc,aAAczZ,EAAWmP,GAE5CnO,KAAKyY,cAAc,sBAAuBzZ,EAAWmP,GAErDnO,KAAKyY,cAAc,iBAAkBzZ,EAAWmP,IAIlDyL,qBAAsB,SAASrX,EAAMyX,GAEnCha,KAAKgY,qBAAqBhY,KAAKhB,WAE/BgB,KAAK+V,gBAEL/V,KAAKsT,oBAAoBtT,MAEzBA,KAAK2Y,+BAEL3Y,KAAKkX,kBAKLlX,KAAKyT,oBAED5U,OAAO2T,mBACT5N,SAAS8M,UAAUuI,YAAYja,KAAKoV,kBAAmB7S,EAAMyX,GAG3Dha,KAAKhB,UAAUkb,kBACjBla,KAAKhB,UAAUkb,iBAAiBla,OAMpCuZ,mBAAoB,WAClB,GAAIY,GAASna,KAAK2Q,aAAa,cAC3BwJ,KACFtb,OAAOsb,GAAUna,KAAKoa,OAK1BX,sBAAuB,SAASY,GAC9B,GAAIrb,GAAYgB,KAAKsa,kBAAkBD,EACvC,KAAKrb,EAAW,CAEd,GAAIA,GAAY+B,YAAYG,mBAAmBmZ,EAE/Crb,GAAYgB,KAAKua,cAAcvb,GAE/Bwb,EAAcH,GAAUrb,EAE1B,MAAOA,IAGTsb,kBAAmB,SAAS/X,GAC1B,MAAOiY,GAAcjY,IAIvBgY,cAAe,SAASvb,GACtB,GAAIA,EAAUiP,YACZ,MAAOjP,EAET,IAAIyb,GAAWvb,OAAOwb,OAAO1b,EAkB7B,OAfAC,GAAIqF,QAAQrF,EAAIoF,SAAUoW,GAa1Bza,KAAK2a,YAAYF,EAAUzb,EAAWC,EAAIoF,SAASuI,IAAK,QAEjD6N,GAGTE,YAAa,SAASF,EAAUzb,EAAWC,EAAKsD,GAC9C,GAAIX,GAAS,SAAS8C,GACpB,MAAO1F,GAAUuD,GAAMb,MAAM1B,KAAM0E,GAErC+V,GAASlY,GAAQ,WAEf,MADAvC,MAAKqN,WAAazL,EACX3C,EAAIsD,GAAMb,MAAM1B,KAAM2B,aAKjC8W,cAAe,SAASlW,EAAMvD,EAAWmP,GAEvC,GAAIyM,GAAS5b,EAAUuD,MAEvBvD,GAAUuD,GAAQvC,KAAK+Z,YAAYa,EAAQzM,EAAK5L,KAIlDsQ,kBAAmB,SAAStQ,EAAMyX,GAChC,GAAIa,IACF7b,UAAWgB,KAAKhB,WAGd8b,EAAgB9a,KAAK+a,kBAAkBf,EACvCc,KACFD,EAAK9B,QAAU+B,GAGjB/Z,YAAYC,SAASuB,EAAMvC,KAAKhB,WAEhCgB,KAAKoa,KAAOhZ,SAAS4Z,gBAAgBzY,EAAMsY,IAG7CE,kBAAmB,SAASxY,GAC1B,GAAIA,GAAQA,EAAK0Y,QAAQ,KAAO,EAC9B,MAAO1Y,EAEP,IAAIE,GAAIzC,KAAKsa,kBAAkB/X,EAC/B,OAAIE,GAAEgN,QACGzP,KAAK+a,kBAAkBtY,EAAEgN,QAAQsJ,SAD1C,SASFyB,IAIFxb,GAAU+a,YADR7a,OAAOwD,UACe,SAASqB,EAAQmX,GAIvC,MAHInX,IAAUmX,GAAanX,IAAWmX,IACpCnX,EAAOrB,UAAYwY,GAEdnX,GAGe,SAASA,EAAQmX,GACvC,GAAInX,GAAUmX,GAAanX,IAAWmX,EAAW,CAC/C,GAAIpB,GAAU5a,OAAOwb,OAAOQ,EAC5BnX,GAAShF,EAAO+a,EAAS/V,GAE3B,MAAOA,IAoBX9E,EAAImF,YAAYpF,UAAYA,GAE3BJ,SC7OH,SAAUE,GA4FR,QAASqc,GAAgB1L,GACvB,MAAOrO,UAASga,SAAS3L,GAAW4L,EAAYC,EAGlD,QAASC,KACP,MAAOD,GAAYxY,OAASwY,EAAY,GAAKD,EAAU,GASzD,QAASG,GAAiB5b,GACxB6b,EAAMC,aAAc,EACpBC,eAAetN,OAAQ,EACvBuN,YAAYC,iBAAiB,WAC3BJ,EAAMK,iBAAiBlc,GACvB6b,EAAMC,aAAc,EACpBD,EAAMM,UA9GV,GAAIN,IAEF5b,KAAM,SAAS4P,EAASsM,EAAO9b,GAM7B,MAL8B,KAA1BD,KAAKib,QAAQxL,KACfzP,KAAKmG,IAAIsJ,GACTA,EAAQuM,QAAUD,EAClBtM,EAAQwM,KAAOhc,GAEiB,IAA1BD,KAAKib,QAAQxL,IAEvBtJ,IAAK,SAASsJ,GAEZ0L,EAAgB1L,GAASqG,KAAKrG,IAEhCwL,QAAS,SAASxL,GAChB,GAAI7M,GAAIuY,EAAgB1L,GAASwL,QAAQxL,EAKzC,OAJI7M,IAAK,GAAKxB,SAASga,SAAS3L,KAC9B7M,GAAMgZ,YAAYM,WAAaN,YAAYvN,MAASiN,EAAYxY,OAC5D,KAECF,GAGT3C,GAAI,SAASwP,GACX,GAAI0M,GAAUnc,KAAKkG,OAAOuJ,EACtB0M,KACFA,EAAQF,KAAKpb,KAAKsb,GAClBA,EAAQH,QAAUG,EAAQF,KAAO,KACjCjc,KAAK+b,UAGT7V,OAAQ,SAASuJ,GACf,GAAI7M,GAAI5C,KAAKib,QAAQxL,EACrB,IAAU,IAAN7M,EAIJ,MAAOuY,GAAgB1L,GAAS2M,SAElCL,MAAO,WAEL,GAAItM,GAAUzP,KAAKqc,aAInB,OAHI5M,IACFA,EAAQuM,QAAQnb,KAAK4O,GAEnBzP,KAAKsc,YACPtc,KAAKqO,SACE,GAFT,QAKFgO,YAAa,WACX,MAAOd,MAETe,SAAU,WACR,OAAQtc,KAAK0b,aAAe1b,KAAKuc,WAEnCA,QAAS,WACP,OAAQjB,EAAYxY,SAAWuY,EAAUvY,QAE3CuL,MAAO,WAWL,GAJIsN,eAAetN,SAAU,IAC3BsN,eAAea,oBAAoBpb,UACnCua,eAAetN,OAAQ,GAErBoO,EAEF,IADA,GAAIra,GACGqa,EAAe3Z,SACpBV,EAAKqa,EAAeL,YAK1BN,iBAAkB,SAASlc,GACrBA,GACF6c,EAAe3G,KAAKlW,IAGxB8b,aAAa,GAGXJ,KACAD,KACAoB,IAYJrb,UAASsb,iBAAiB,qBAAsB,WAC9Cf,eAAetN,OAAQ,IAczBvP,EAAM2c,MAAQA,EACd3c,EAAM0c,iBAAmBA,GACxB5c,SCvHH,SAAUE,GAIR,QAAS6d,GAAeC,EAAmBhd,GACrCgd,GACFxb,SAASgT,KAAKlE,YAAY0M,GAC1BpB,EAAiB5b,IACRA,GACTA,IAIJ,QAASid,GAAWC,EAAMld,GACxB,GAAIkd,GAAQA,EAAKha,OAAQ,CAErB,IAAK,GAAwBia,GAAKnH,EAD9BoH,EAAO5b,SAAS6b,yBACXra,EAAE,EAAGC,EAAEia,EAAKha,OAAsBD,EAAFD,IAASma,EAAID,EAAKla,IAAKA,IAC9DgT,EAAOxU,SAASC,cAAc,QAC9BuU,EAAKsH,IAAM,SACXtH,EAAK5B,KAAO+I,EACZC,EAAK9M,YAAY0F,EAEnB+G,GAAeK,EAAMpd,OACdA,IACTA,IAtBJ,GAAI4b,GAAmB1c,EAAM0c,gBA2B7B1c,GAAMqe,OAASN,EACf/d,EAAM6d,eAAiBA,GAEtB/d,SChCH,SAAUE,GAsHR,QAASse,GAAa7a,GACpB,MAAO8a,SAAQtc,YAAYG,mBAAmBqB,IAGhD,QAAS+a,GAAY/a,GACnB,MAAQA,IAAQA,EAAK0Y,QAAQ,MAAQ,EAvHvC,GAAIlc,GAASD,EAAMC,OACfE,EAAMH,EAAMG,IACZwc,EAAQ3c,EAAM2c,MACdD,EAAmB1c,EAAM0c,iBACzB5I,EAAyB9T,EAAM8T,uBAC/BG,EAAsBjU,EAAMiU,oBAI5B/T,EAAYD,EAAOG,OAAOwb,OAAO3Z,YAAY/B,YAE/CsP,gBAAiB,WACXtO,KAAK2Q,aAAa,SACpB3Q,KAAKud,QAITA,KAAM,WAEJvd,KAAKuC,KAAOvC,KAAK2Q,aAAa,QAC9B3Q,KAAK+Y,QAAU/Y,KAAK2Q,aAAa,WAEjC3Q,KAAKwd,gBAELxd,KAAKkT,qBAGPA,kBAAmB,WACdlT,KAAKyd,YACJzd,KAAK+S,oBAAoB/S,KAAKuC,OAC9BvC,KAAK0d,mBACL1d,KAAK2d,uBAGTlC,EAAMxb,GAAGD,OAMX4d,UAAW,WAILN,EAAYtd,KAAK+Y,WAAaqE,EAAapd,KAAK+Y,UAClD9W,QAAQC,KAAK,sGACuClC,KAAKuC,KACrDvC,KAAK+Y,SAEX/Y,KAAKgB,SAAShB,KAAKuC,KAAMvC,KAAK+Y,SAC9B/Y,KAAKyd,YAAa,GAIpB1K,oBAAqB,SAASxQ,GAC5B,MAAKqQ,GAAuBrQ,GAA5B,QAEEwQ,EAAoBxQ,EAAMvC,MAE1BA,KAAK6d,eAAetb,IAEb,IAIXsb,eAAgB,SAAStb,GAEvB,GAAIvC,KAAKmI,aAAa,cAAgBnI,KAAKgZ,SAQzC,GAPAhZ,KAAKgZ,UAAW,EAOZna,OAAO8c,iBAAmBA,eAAeO,UAC3Ctd,QAAQ2D,OACH,CACL,GAAIub,GAAS1c,SAASC,cAAc,SACpCyc,GAAOvL,YAAc,YAAehQ,EAAO,MAC3CvC,KAAKkQ,YAAY4N,KAKvBH,oBAAqB,WACnB,MAAO3d,MAAK+d,iBAMdL,gBAAiB,WACf,MAAOjC,GAAM5b,KAAKG,KAAMA,KAAKkT,kBAAmBlT,KAAK4d,YAGvDJ,cAAe,WACbxd,KAAK+d,iBAAkB,EACvB/d,KAAKkV,WAAW,WACdlV,KAAK+d,iBAAkB,EACvB/d,KAAKkT,qBACL5S,KAAKN,SASXf,GAAIqF,QAAQrF,EAAImF,YAAapF,GAc7BF,EAAM8T,uBAAyBA,EAI/B4I,EAAiB,WACfpa,SAAS4c,KAAK/U,gBAAgB,cAC9B7H,SAASuE,cACP,GAAIF,aAAY,iBAAkBJ,SAAS,OAM/CjE,SAAS4Z,gBAAgB,mBAAoBhc,UAAWA,KAEvDJ","sourcesContent":["/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\nPolymer = {};\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n// TODO(sorvell): this ensures Polymer is an object and not a function\n// Platform is currently defining it as a function to allow for async loading\n// of polymer; once we refine the loading process this likely goes away.\nif (typeof window.Polymer === 'function') {\n Polymer = {};\n}\n\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // copy own properties from 'api' to 'prototype, with name hinting for 'super'\n function extend(prototype, api) {\n if (prototype && api) {\n // use only own properties of 'api'\n Object.getOwnPropertyNames(api).forEach(function(n) {\n // acquire property descriptor\n var pd = Object.getOwnPropertyDescriptor(api, n);\n if (pd) {\n // clone property via descriptor\n Object.defineProperty(prototype, n, pd);\n // cache name-of-method for 'super' engine\n if (typeof pd.value == 'function') {\n // hint the 'super' engine\n pd.value.nom = n;\n }\n }\n });\n }\n return prototype;\n }\n \n // exports\n\n scope.extend = extend;\n\n})(Polymer);\n","/* \n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n \n // usage\n \n // invoke cb.call(this) in 100ms, unless the job is re-registered,\n // which resets the timer\n // \n // this.myJob = this.job(this.myJob, cb, 100)\n //\n // returns a job handle which can be used to re-register a job\n\n var Job = function(inContext) {\n this.context = inContext;\n this.boundComplete = this.complete.bind(this)\n };\n Job.prototype = {\n go: function(callback, wait) {\n this.callback = callback;\n var h;\n if (!wait) {\n h = requestAnimationFrame(this.boundComplete);\n this.handle = function() {\n cancelAnimationFrame(h);\n }\n } else {\n h = setTimeout(this.boundComplete, wait);\n this.handle = function() {\n clearTimeout(h);\n }\n }\n },\n stop: function() {\n if (this.handle) {\n this.handle();\n this.handle = null;\n }\n },\n complete: function() {\n if (this.handle) {\n this.stop();\n this.callback.call(this.context);\n }\n }\n };\n \n function job(job, callback, wait) {\n if (job) {\n job.stop();\n } else {\n job = new Job(this);\n }\n job.go(callback, wait);\n return job;\n }\n \n // exports \n\n scope.job = job;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var registry = {};\n\n HTMLElement.register = function(tag, prototype) {\n registry[tag] = prototype;\n }\n\n // get prototype mapped to node <tag>\n HTMLElement.getPrototypeForTag = function(tag) {\n var prototype = !tag ? HTMLElement.prototype : registry[tag];\n // TODO(sjmiles): creating <tag> is likely to have wasteful side-effects\n return prototype || Object.getPrototypeOf(document.createElement(tag));\n };\n\n // we have to flag propagation stoppage for the event dispatcher\n var originalStopPropagation = Event.prototype.stopPropagation;\n Event.prototype.stopPropagation = function() {\n this.cancelBubble = true;\n originalStopPropagation.apply(this, arguments);\n };\n \n // TODO(sorvell): remove when we're sure imports does not need\n // to load stylesheets\n /*\n HTMLImports.importer.preloadSelectors += \n ', polymer-element link[rel=stylesheet]';\n */\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n (function(scope) {\n // super\n\n // `arrayOfArgs` is an optional array of args like one might pass\n // to `Function.apply`\n\n // TODO(sjmiles):\n // $super must be installed on an instance or prototype chain\n // as `super`, and invoked via `this`, e.g.\n // `this.super();`\n\n // will not work if function objects are not unique, for example,\n // when using mixins.\n // The memoization strategy assumes each function exists on only one \n // prototype chain i.e. we use the function object for memoizing)\n // perhaps we can bookkeep on the prototype itself instead\n function $super(arrayOfArgs) {\n // since we are thunking a method call, performance is important here: \n // memoize all lookups, once memoized the fast path calls no other \n // functions\n //\n // find the caller (cannot be `strict` because of 'caller')\n var caller = $super.caller;\n // memoized 'name of method' \n var nom = caller.nom;\n // memoized next implementation prototype\n var _super = caller._super;\n if (!_super) {\n if (!nom) {\n nom = caller.nom = nameInThis.call(this, caller);\n }\n if (!nom) {\n console.warn('called super() on a method not installed declaratively (has no .nom property)');\n }\n // super prototype is either cached or we have to find it\n // by searching __proto__ (at the 'top')\n _super = memoizeSuper(caller, nom, getPrototypeOf(this));\n }\n if (!_super) {\n // if _super is falsey, there is no super implementation\n //console.warn('called $super(' + nom + ') where there is no super implementation');\n } else {\n // our super function\n var fn = _super[nom];\n // memoize information so 'fn' can call 'super'\n if (!fn._super) {\n memoizeSuper(fn, nom, _super);\n }\n // invoke the inherited method\n // if 'fn' is not function valued, this will throw\n return fn.apply(this, arrayOfArgs || []);\n }\n }\n\n function nextSuper(proto, name, caller) {\n // look for an inherited prototype that implements name\n while (proto) {\n if ((proto[name] !== caller) && proto[name]) {\n return proto;\n }\n proto = getPrototypeOf(proto);\n }\n }\n\n function memoizeSuper(method, name, proto) {\n // find and cache next prototype containing `name`\n // we need the prototype so we can do another lookup\n // from here\n method._super = nextSuper(proto, name, method);\n if (method._super) {\n // _super is a prototype, the actual method is _super[name]\n // tag super method with it's name for further lookups\n method._super[name].nom = name;\n }\n return method._super;\n }\n\n function nameInThis(value) {\n var p = this.__proto__;\n while (p && p !== HTMLElement.prototype) {\n // TODO(sjmiles): getOwnPropertyNames is absurdly expensive\n var n$ = Object.getOwnPropertyNames(p);\n for (var i=0, l=n$.length, n; i<l && (n=n$[i]); i++) {\n var d = Object.getOwnPropertyDescriptor(p, n);\n if (typeof d.value === 'function' && d.value === value) {\n return n;\n }\n }\n p = p.__proto__;\n }\n }\n\n // NOTE: In some platforms (IE10) the prototype chain is faked via \n // __proto__. Therefore, always get prototype via __proto__ instead of\n // the more standard Object.getPrototypeOf.\n function getPrototypeOf(prototype) {\n return prototype.__proto__;\n }\n\n // utility function to precompute name tags for functions\n // in a (unchained) prototype\n function hintSuper(prototype) {\n // tag functions with their prototype name to optimize\n // super call invocations\n for (var n in prototype) {\n var pd = Object.getOwnPropertyDescriptor(prototype, n);\n if (pd && typeof pd.value === 'function') {\n pd.value.nom = n;\n }\n }\n }\n\n // exports\n\n scope.super = $super;\n\n})(Polymer);\n","/* \n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\n var typeHandlers = {\n string: function(value) {\n return value;\n },\n date: function(value) {\n return new Date(Date.parse(value) || Date.now());\n },\n boolean: function(value) {\n if (value === '') {\n return true;\n }\n return value === 'false' ? false : !!value;\n },\n number: function(value) {\n var n = parseFloat(value);\n // hex values like \"0xFFFF\" parseFloat as 0\n if (n === 0) {\n n = parseInt(value);\n }\n return isNaN(n) ? value : n;\n // this code disabled because encoded values (like \"0xFFFF\")\n // do not round trip to their original format\n //return (String(floatVal) === value) ? floatVal : value;\n },\n object: function(value, currentValue) {\n if (currentValue === null) {\n return value;\n }\n try {\n // If the string is an object, we can parse is with the JSON library.\n // include convenience replace for single-quotes. If the author omits\n // quotes altogether, parse will fail.\n return JSON.parse(value.replace(/'/g, '\"'));\n } catch(e) {\n // The object isn't valid JSON, return the raw value\n return value;\n }\n },\n // avoid deserialization of functions\n 'function': function(value, currentValue) {\n return currentValue;\n }\n };\n\n function deserializeValue(value, currentValue) {\n // attempt to infer type from default value\n var inferredType = typeof currentValue;\n // invent 'date' type value for Date\n if (currentValue instanceof Date) {\n inferredType = 'date';\n }\n // delegate deserialization via type string\n return typeHandlers[inferredType](value, currentValue);\n }\n\n // exports\n\n scope.deserializeValue = deserializeValue;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var extend = scope.extend;\n\n // module\n\n var api = {};\n\n api.declaration = {};\n api.instance = {};\n\n api.publish = function(apis, prototype) {\n for (var n in apis) {\n extend(prototype, apis[n]);\n }\n }\n\n // exports\n\n scope.api = api;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var utils = {\n /**\n * Invokes a function asynchronously. The context of the callback\n * function is bound to 'this' automatically.\n * @method async\n * @param {Function|String} method\n * @param {any|Array} args\n * @param {number} timeout\n */\n async: function(method, args, timeout) {\n // when polyfilling Object.observe, ensure changes \n // propagate before executing the async method\n Platform.flush();\n // second argument to `apply` must be an array\n args = (args && args.length) ? args : [args];\n // function to invoke\n var fn = function() {\n (this[method] || method).apply(this, args);\n }.bind(this);\n // execute `fn` sooner or later\n var handle = timeout ? setTimeout(fn, timeout) :\n requestAnimationFrame(fn);\n // NOTE: switch on inverting handle to determine which time is used.\n return timeout ? handle : 1 / handle;\n },\n cancelAsync: function(handle) {\n if (handle < 1) {\n cancelAnimationFrame(Math.round(1 / handle));\n } else {\n clearTimeout(handle);\n }\n },\n /**\n * Fire an event.\n * @method fire\n * @returns {Object} event\n * @param {string} type An event name.\n * @param {any} detail\n * @param {Node} onNode Target node.\n */\n fire: function(type, detail, onNode, bubbles, cancelable) {\n var node = onNode || this;\n var detail = detail || {};\n var event = new CustomEvent(type, {\n bubbles: (bubbles !== undefined ? bubbles : true), \n cancelable: (cancelable !== undefined ? cancelable : true), \n detail: detail\n });\n node.dispatchEvent(event);\n return event;\n },\n /**\n * Fire an event asynchronously.\n * @method asyncFire\n * @param {string} type An event name.\n * @param detail\n * @param {Node} toNode Target node.\n */\n asyncFire: function(/*inType, inDetail*/) {\n this.async(\"fire\", arguments);\n },\n /**\n * Remove class from old, add class to anew, if they exist\n * @param classFollows\n * @param anew A node.\n * @param old A node\n * @param className\n */\n classFollows: function(anew, old, className) {\n if (old) {\n old.classList.remove(className);\n }\n if (anew) {\n anew.classList.add(className);\n }\n }\n };\n\n // no-operation function for handy stubs\n var nop = function() {};\n\n // null-object for handy stubs\n var nob = {};\n\n // deprecated\n\n utils.asyncMethod = utils.async;\n\n // exports\n\n scope.api.instance.utils = utils;\n scope.nop = nop;\n scope.nob = nob;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n var EVENT_PREFIX = 'on-';\n\n // instance events api\n var events = {\n // read-only\n EVENT_PREFIX: EVENT_PREFIX,\n // event listeners on host\n addHostListeners: function() {\n var events = this.eventDelegates;\n log.events && (Object.keys(events).length > 0) && console.log('[%s] addHostListeners:', this.localName, events);\n // NOTE: host events look like bindings but really are not;\n // (1) we don't want the attribute to be set and (2) we want to support\n // multiple event listeners ('host' and 'instance') and Node.bind\n // by default supports 1 thing being bound.\n // We do, however, leverage the event hookup code in PolymerExpressions\n // so that we have a common code path for handling declarative events.\n var self = this, bindable, eventName;\n for (var n in events) {\n eventName = EVENT_PREFIX + n;\n bindable = PolymerExpressions.prepareEventBinding(\n Path.get(events[n]),\n eventName, \n {\n resolveEventHandler: function(model, path, node) {\n var fn = path.getValueFrom(self);\n if (fn) {\n return fn.bind(self);\n }\n }\n }\n );\n bindable(this, this, false);\n }\n },\n // call 'method' or function method on 'obj' with 'args', if the method exists\n dispatchMethod: function(obj, method, args) {\n if (obj) {\n log.events && console.group('[%s] dispatch [%s]', obj.localName, method);\n var fn = typeof method === 'function' ? method : obj[method];\n if (fn) {\n fn[args ? 'apply' : 'call'](obj, args);\n }\n log.events && console.groupEnd();\n Platform.flush();\n }\n }\n };\n\n // exports\n\n scope.api.instance.events = events;\n\n})(Polymer);\n","/*\r\n * Copyright 2013 The Polymer Authors. All rights reserved.\r\n * Use of this source code is governed by a BSD-style\r\n * license that can be found in the LICENSE file.\r\n */\r\n(function(scope) {\r\n\r\n // instance api for attributes\r\n\r\n var attributes = {\r\n copyInstanceAttributes: function () {\r\n var a$ = this._instanceAttributes;\r\n for (var k in a$) {\r\n if (!this.hasAttribute(k)) {\r\n this.setAttribute(k, a$[k]);\r\n }\r\n }\r\n },\r\n // for each attribute on this, deserialize value to property as needed\r\n takeAttributes: function() {\r\n // if we have no publish lookup table, we have no attributes to take\r\n // TODO(sjmiles): ad hoc\r\n if (this._publishLC) {\r\n for (var i=0, a$=this.attributes, l=a$.length, a; (a=a$[i]) && i<l; i++) {\r\n this.attributeToProperty(a.name, a.value);\r\n }\r\n }\r\n },\r\n // if attribute 'name' is mapped to a property, deserialize\r\n // 'value' into that property\r\n attributeToProperty: function(name, value) {\r\n // try to match this attribute to a property (attributes are\r\n // all lower-case, so this is case-insensitive search)\r\n var name = this.propertyForAttribute(name);\r\n if (name) {\r\n // filter out 'mustached' values, these are to be\r\n // replaced with bound-data and are not yet values\r\n // themselves\r\n if (value && value.search(scope.bindPattern) >= 0) {\r\n return;\r\n }\r\n // get original value\r\n var currentValue = this[name];\r\n // deserialize Boolean or Number values from attribute\r\n var value = this.deserializeValue(value, currentValue);\r\n // only act if the value has changed\r\n if (value !== currentValue) {\r\n // install new value (has side-effects)\r\n this[name] = value;\r\n }\r\n }\r\n },\r\n // return the published property matching name, or undefined\r\n propertyForAttribute: function(name) {\r\n var match = this._publishLC && this._publishLC[name];\r\n //console.log('propertyForAttribute:', name, 'matches', match);\r\n return match;\r\n },\r\n // convert representation of 'stringValue' based on type of 'currentValue'\r\n deserializeValue: function(stringValue, currentValue) {\r\n return scope.deserializeValue(stringValue, currentValue);\r\n },\r\n serializeValue: function(value, inferredType) {\r\n if (inferredType === 'boolean') {\r\n return value ? '' : undefined;\r\n } else if (inferredType !== 'object' && inferredType !== 'function'\r\n && value !== undefined) {\r\n return value;\r\n }\r\n },\r\n reflectPropertyToAttribute: function(name) {\r\n var inferredType = typeof this[name];\r\n // try to intelligently serialize property value\r\n var serializedValue = this.serializeValue(this[name], inferredType);\r\n // boolean properties must reflect as boolean attributes\r\n if (serializedValue !== undefined) {\r\n this.setAttribute(name, serializedValue);\r\n // TODO(sorvell): we should remove attr for all properties\r\n // that have undefined serialization; however, we will need to\r\n // refine the attr reflection system to achieve this; pica, for example,\r\n // relies on having inferredType object properties not removed as\r\n // attrs.\r\n } else if (inferredType === 'boolean') {\r\n this.removeAttribute(name);\r\n }\r\n }\r\n };\r\n\r\n // exports\r\n\r\n scope.api.instance.attributes = attributes;\r\n\r\n})(Polymer);\r\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n\n // magic words\n\n var OBSERVE_SUFFIX = 'Changed';\n\n // element api\n\n var empty = [];\n\n var properties = {\n observeProperties: function() {\n var n$ = this._observeNames, pn$ = this._publishNames;\n if ((n$ && n$.length) || (pn$ && pn$.length)) {\n var self = this;\n var o = this._propertyObserver = new CompoundObserver();\n for (var i=0, l=n$.length, n; (i<l) && (n=n$[i]); i++) {\n o.addPath(this, n);\n // observer array properties\n var pd = Object.getOwnPropertyDescriptor(this.__proto__, n);\n if (pd && pd.value) {\n this.observeArrayValue(n, pd.value, null);\n }\n }\n for (var i=0, l=pn$.length, n; (i<l) && (n=pn$[i]); i++) {\n if (!this.observe || (this.observe[n] === undefined)) {\n o.addPath(this, n);\n }\n }\n o.open(this.notifyPropertyChanges, this);\n }\n },\n notifyPropertyChanges: function(newValues, oldValues, paths) {\n var name, method, called = {};\n for (var i in oldValues) {\n // note: paths is of form [object, path, object, path]\n name = paths[2 * i + 1];\n if (this.publish[name] !== undefined) {\n this.reflectPropertyToAttribute(name);\n }\n method = this.observe[name];\n if (method) {\n this.observeArrayValue(name, newValues[i], oldValues[i]);\n if (!called[method]) {\n called[method] = true;\n // observes the value if it is an array\n this.invokeMethod(method, [oldValues[i], newValues[i], arguments]);\n }\n }\n }\n },\n observeArrayValue: function(name, value, old) {\n // we only care if there are registered side-effects\n var callbackName = this.observe[name];\n if (callbackName) {\n // if we are observing the previous value, stop\n if (Array.isArray(old)) {\n log.observe && console.log('[%s] observeArrayValue: unregister observer [%s]', this.localName, name);\n this.unregisterObserver(name + '__array');\n }\n // if the new value is an array, being observing it\n if (Array.isArray(value)) {\n log.observe && console.log('[%s] observeArrayValue: register observer [%s]', this.localName, name, value);\n var observer = new ArrayObserver(value);\n observer.open(function(value, old) {\n this.invokeMethod(callbackName, [old]);\n }, this);\n this.registerObserver(name + '__array', observer);\n }\n }\n },\n bindProperty: function(property, observable) {\n // apply Polymer two-way reference binding\n return bindProperties(this, property, observable);\n },\n unbindAllProperties: function() {\n if (this._propertyObserver) {\n this._propertyObserver.close();\n }\n this.unregisterObservers();\n },\n unbindProperty: function(name) {\n return this.unregisterObserver(name);\n },\n invokeMethod: function(method, args) {\n var fn = this[method] || method;\n if (typeof fn === 'function') {\n fn.apply(this, args);\n }\n },\n // bookkeeping observers for memory management\n registerObserver: function(name, observer) {\n var o$ = this._observers || (this._observers = {});\n o$[name] = observer;\n },\n unregisterObserver: function(name) {\n var o$ = this._observers;\n if (o$ && o$[name]) {\n o$[name].close();\n o$[name] = null;\n return true;\n }\n },\n unregisterObservers: function() {\n if (this._observers) {\n var keys=Object.keys(this._observers);\n for (var i=0, l=keys.length, k, o; (i < l) && (k=keys[i]); i++) {\n o = this._observers[k];\n o.close();\n }\n this._observers = {};\n }\n }\n };\n\n // property binding\n // bind a property in A to a path in B by converting A[property] to a\n // getter/setter pair that accesses B[...path...]\n function bindProperties(inA, inProperty, observable) {\n log.bind && console.log(LOG_BIND_PROPS, inB.localName || 'object', inPath, inA.localName, inProperty);\n // capture A's value if B's value is null or undefined,\n // otherwise use B's value\n // TODO(sorvell): need to review, can do with ObserverTransform\n var v = observable.discardChanges();\n if (v === null || v === undefined) {\n observable.setValue(inA[inProperty]);\n }\n return Observer.defineComputedProperty(inA, inProperty, observable);\n }\n\n // logging\n var LOG_OBSERVE = '[%s] watching [%s]';\n var LOG_OBSERVED = '[%s#%s] watch: [%s] now [%s] was [%s]';\n var LOG_CHANGED = '[%s#%s] propertyChanged: [%s] now [%s] was [%s]';\n var LOG_BIND_PROPS = \"[%s]: bindProperties: [%s] to [%s].[%s]\";\n\n // exports\n\n scope.api.instance.properties = properties;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || 0;\n var events = scope.api.instance.events;\n\n var syntax = new PolymerExpressions();\n syntax.resolveEventHandler = function(model, path, node) {\n var ctlr = findEventController(node);\n if (ctlr) {\n var fn = path.getValueFrom(ctlr);\n if (fn) {\n return fn.bind(ctlr);\n }\n }\n }\n\n // An event controller is the host element for the shadowRoot in which \n // the node exists, or the first ancestor with a 'lightDomController'\n // property.\n function findEventController(node) {\n while (node.parentNode) {\n if (node.lightDomController) {\n return node;\n }\n node = node.parentNode;\n }\n return node.host;\n };\n\n // element api supporting mdv\n\n var mdv = {\n syntax: syntax,\n instanceTemplate: function(template) {\n return template.createInstance(this, this.syntax);\n },\n bind: function(name, observable, oneTime) {\n // note: binding is a prepare signal. This allows us to be sure that any\n // property changes that occur as a result of binding will be observed.\n if (!this._elementPrepared) {\n this.prepareElement();\n }\n var property = this.propertyForAttribute(name);\n if (!property) {\n // TODO(sjmiles): this mixin method must use the special form\n // of `super` installed by `mixinMethod` in declaration/prototype.js\n return this.mixinSuper(arguments);\n } else {\n // clean out the closets\n this.unbind(name);\n // use n-way Polymer binding\n var observer = this.bindProperty(property, observable);\n // stick path on observer so it's available via this.bindings\n observer.path = observable.path_;\n // reflect bound property to attribute when binding\n // to ensure binding is not left on attribute if property\n // does not update due to not changing.\n this.reflectPropertyToAttribute(property);\n return this.bindings[name] = observer;\n }\n },\n asyncUnbindAll: function() {\n if (!this._unbound) {\n log.unbind && console.log('[%s] asyncUnbindAll', this.localName);\n this._unbindAllJob = this.job(this._unbindAllJob, this.unbindAll, 0);\n }\n },\n unbindAll: function() {\n if (!this._unbound) {\n this.unbindAllProperties();\n this.super();\n // unbind shadowRoot\n var root = this.shadowRoot;\n while (root) {\n unbindNodeTree(root);\n root = root.olderShadowRoot;\n }\n this._unbound = true;\n }\n },\n cancelUnbindAll: function(preventCascade) {\n if (this._unbound) {\n log.unbind && console.warn('[%s] already unbound, cannot cancel unbindAll', this.localName);\n return;\n }\n log.unbind && console.log('[%s] cancelUnbindAll', this.localName);\n if (this._unbindAllJob) {\n this._unbindAllJob = this._unbindAllJob.stop();\n }\n // cancel unbinding our shadow tree iff we're not in the process of\n // cascading our tree (as we do, for example, when the element is inserted).\n if (!preventCascade) {\n forNodeTree(this.shadowRoot, function(n) {\n if (n.cancelUnbindAll) {\n n.cancelUnbindAll();\n }\n });\n }\n }\n };\n\n function unbindNodeTree(node) {\n forNodeTree(node, _nodeUnbindAll);\n }\n\n function _nodeUnbindAll(node) {\n node.unbindAll();\n }\n\n function forNodeTree(node, callback) {\n if (node) {\n callback(node);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n forNodeTree(child, callback);\n }\n }\n }\n\n var mustachePattern = /\\{\\{([^{}]*)}}/;\n\n // exports\n\n scope.bindPattern = mustachePattern;\n scope.api.instance.mdv = mdv;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n var preparingElements = 0;\n\n var base = {\n PolymerBase: true,\n job: Polymer.job,\n super: Polymer.super,\n // user entry point for element has had its createdCallback called\n created: function() {\n },\n // user entry point for element has shadowRoot and is ready for\n // api interaction\n ready: function() {\n },\n createdCallback: function() {\n this.created();\n if (this.ownerDocument.defaultView || this.alwaysPrepare ||\n preparingElements > 0) {\n this.prepareElement();\n }\n },\n // system entry point, do not override\n prepareElement: function() {\n this._elementPrepared = true;\n // install shadowRoots storage\n this.shadowRoots = {};\n // install property observers\n this.observeProperties();\n // install boilerplate attributes\n this.copyInstanceAttributes();\n // process input attributes\n this.takeAttributes();\n // add event listeners\n this.addHostListeners();\n // guarantees that while preparing, any\n // sub-elements are also prepared\n preparingElements++;\n // process declarative resources\n this.parseDeclarations(this.__proto__);\n // decrement semaphore\n preparingElements--;\n // TODO(sorvell): CE polyfill uses unresolved attribute to simulate\n // :unresolved; remove this attribute to be compatible with native\n // CE.\n this.removeAttribute('unresolved');\n // user entry point\n this.ready();\n },\n attachedCallback: function() {\n if (!this._elementPrepared) {\n this.prepareElement();\n }\n this.cancelUnbindAll(true);\n // invoke user action\n if (this.attached) {\n this.attached();\n }\n // TODO(sorvell): bc\n if (this.enteredView) {\n this.enteredView();\n }\n // NOTE: domReady can be used to access elements in dom (descendants, \n // ancestors, siblings) such that the developer is enured to upgrade\n // ordering. If the element definitions have loaded, domReady\n // can be used to access upgraded elements.\n if (!this.hasBeenAttached) {\n this.hasBeenAttached = true;\n if (this.domReady) {\n this.async('domReady');\n }\n }\n },\n detachedCallback: function() {\n if (!this.preventDispose) {\n this.asyncUnbindAll();\n }\n // invoke user action\n if (this.detached) {\n this.detached();\n }\n // TODO(sorvell): bc\n if (this.leftView) {\n this.leftView();\n }\n },\n // TODO(sorvell): bc\n enteredViewCallback: function() {\n this.attachedCallback();\n },\n // TODO(sorvell): bc\n leftViewCallback: function() {\n this.detachedCallback();\n },\n // TODO(sorvell): bc\n enteredDocumentCallback: function() {\n this.attachedCallback();\n },\n // TODO(sorvell): bc\n leftDocumentCallback: function() {\n this.detachedCallback();\n },\n // recursive ancestral <element> initialization, oldest first\n parseDeclarations: function(p) {\n if (p && p.element) {\n this.parseDeclarations(p.__proto__);\n p.parseDeclaration.call(this, p.element);\n }\n },\n // parse input <element> as needed, override for custom behavior\n parseDeclaration: function(elementElement) {\n var template = this.fetchTemplate(elementElement);\n if (template) {\n var root = this.shadowFromTemplate(template);\n this.shadowRoots[elementElement.name] = root; \n }\n },\n // return a shadow-root template (if desired), override for custom behavior\n fetchTemplate: function(elementElement) {\n return elementElement.querySelector('template');\n },\n // utility function that creates a shadow root from a <template>\n shadowFromTemplate: function(template) {\n if (template) {\n // make a shadow root\n var root = this.createShadowRoot();\n // migrate flag(s)\n root.resetStyleInheritance = this.resetStyleInheritance;\n // stamp template\n // which includes parsing and applying MDV bindings before being \n // inserted (to avoid {{}} in attribute values)\n // e.g. to prevent <img src=\"images/{{icon}}\"> from generating a 404.\n var dom = this.instanceTemplate(template);\n // append to shadow dom\n root.appendChild(dom);\n // perform post-construction initialization tasks on shadow root\n this.shadowRootReady(root, template);\n // return the created shadow root\n return root;\n }\n },\n // utility function that stamps a <template> into light-dom\n lightFromTemplate: function(template) {\n if (template) {\n // TODO(sorvell): mark this element as a lightDOMController so that\n // event listeners on bound nodes inside it will be called on it.\n // Note, the expectation here is that events on all descendants \n // should be handled by this element.\n this.lightDomController = true;\n // stamp template\n // which includes parsing and applying MDV bindings before being \n // inserted (to avoid {{}} in attribute values)\n // e.g. to prevent <img src=\"images/{{icon}}\"> from generating a 404.\n var dom = this.instanceTemplate(template);\n // append to shadow dom\n this.appendChild(dom);\n // perform post-construction initialization tasks on ahem, light root\n this.shadowRootReady(this, template);\n // return the created shadow root\n return dom;\n }\n },\n shadowRootReady: function(root, template) {\n // locate nodes with id and store references to them in this.$ hash\n this.marshalNodeReferences(root);\n // set up pointer gestures\n PointerGestures.register(root);\n },\n // locate nodes with id and store references to them in this.$ hash\n marshalNodeReferences: function(root) {\n // establish $ instance variable\n var $ = this.$ = this.$ || {};\n // populate $ from nodes with ID from the LOCAL tree\n if (root) {\n var n$ = root.querySelectorAll(\"[id]\");\n for (var i=0, l=n$.length, n; (i<l) && (n=n$[i]); i++) {\n $[n.id] = n;\n };\n }\n },\n attributeChangedCallback: function(name, oldValue) {\n // TODO(sjmiles): adhoc filter\n if (name !== 'class' && name !== 'style') {\n this.attributeToProperty(name, this.getAttribute(name));\n }\n if (this.attributeChanged) {\n this.attributeChanged.apply(this, arguments);\n }\n },\n onMutation: function(node, listener) {\n var observer = new MutationObserver(function(mutations) {\n listener.call(this, observer, mutations);\n observer.disconnect();\n }.bind(this));\n observer.observe(node, {childList: true, subtree: true});\n }\n };\n\n // true if object has own PolymerBase api\n function isBase(object) {\n return object.hasOwnProperty('PolymerBase') \n }\n\n // name a base constructor for dev tools\n\n function PolymerBase() {};\n PolymerBase.prototype = base;\n base.constructor = PolymerBase;\n \n // exports\n\n scope.Base = PolymerBase;\n scope.isBase = isBase;\n scope.api.instance.base = base;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n \n // magic words\n \n var STYLE_SCOPE_ATTRIBUTE = 'element';\n var STYLE_CONTROLLER_SCOPE = 'controller';\n \n var styles = {\n STYLE_SCOPE_ATTRIBUTE: STYLE_SCOPE_ATTRIBUTE,\n /**\n * Installs external stylesheets and <style> elements with the attribute \n * polymer-scope='controller' into the scope of element. This is intended\n * to be a called during custom element construction.\n */\n installControllerStyles: function() {\n // apply controller styles, but only if they are not yet applied\n var scope = this.findStyleScope();\n if (scope && !this.scopeHasNamedStyle(scope, this.localName)) {\n // allow inherited controller styles\n var proto = getPrototypeOf(this), cssText = '';\n while (proto && proto.element) {\n cssText += proto.element.cssTextForScope(STYLE_CONTROLLER_SCOPE);\n proto = getPrototypeOf(proto);\n }\n if (cssText) {\n this.installScopeCssText(cssText, scope);\n }\n }\n },\n installScopeStyle: function(style, name) {\n var scope = this.findStyleScope(), name = name || '';\n if (scope && !this.scopeHasNamedStyle(scope, this.localName + name)) {\n var cssText = '';\n if (style instanceof Array) {\n for (var i=0, l=style.length, s; (i<l) && (s=style[i]); i++) {\n cssText += s.textContent + '\\n\\n';\n }\n } else {\n cssText = style.textContent;\n }\n this.installScopeCssText(cssText, scope, name);\n }\n },\n installScopeCssText: function(cssText, scope, name) {\n scope = scope || this.findStyleScope();\n name = name || '';\n if (!scope) {\n return;\n }\n if (window.ShadowDOMPolyfill) {\n cssText = shimCssText(cssText, scope.host);\n }\n var style = this.element.cssTextToScopeStyle(cssText,\n STYLE_CONTROLLER_SCOPE);\n Polymer.applyStyleToScope(style, scope);\n // cache that this style has been applied\n scope._scopeStyles[this.localName + name] = true;\n },\n findStyleScope: function() {\n // find the shadow root that contains this element\n var n = this;\n while (n.parentNode) {\n n = n.parentNode;\n }\n return n;\n },\n scopeHasNamedStyle: function(scope, name) {\n scope._scopeStyles = scope._scopeStyles || {};\n return scope._scopeStyles[name];\n }\n };\n \n // NOTE: use raw prototype traversal so that we ensure correct traversal\n // on platforms where the protoype chain is simulated via __proto__ (IE10)\n function getPrototypeOf(prototype) {\n return prototype.__proto__;\n }\n\n function shimCssText(cssText, host) {\n var name = '', is = false;\n if (host) {\n name = host.localName;\n is = host.hasAttribute('is');\n }\n var selector = Platform.ShadowCSS.makeScopeSelector(name, is);\n return Platform.ShadowCSS.shimCssText(cssText, selector);\n }\n\n // exports\n\n scope.api.instance.styles = styles;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var extend = scope.extend;\n var api = scope.api;\n\n // imperative implementation: Polymer()\n\n // specify an 'own' prototype for tag `name`\n function element(name, prototype) {\n if (getRegisteredPrototype[name]) {\n throw 'Already registered (Polymer) prototype for element ' + name;\n }\n // cache the prototype\n registerPrototype(name, prototype);\n // notify the registrar waiting for 'name', if any\n notifyPrototype(name);\n }\n\n // async prototype source\n\n function waitingForPrototype(name, client) {\n waitPrototype[name] = client;\n }\n\n var waitPrototype = {};\n\n function notifyPrototype(name) {\n if (waitPrototype[name]) {\n waitPrototype[name].registerWhenReady();\n delete waitPrototype[name];\n }\n }\n\n // utility and bookkeeping\n\n // maps tag names to prototypes, as registered with\n // Polymer. Prototypes associated with a tag name\n // using document.registerElement are available from\n // HTMLElement.getPrototypeForTag().\n // If an element was fully registered by Polymer, then\n // Polymer.getRegisteredPrototype(name) === \n // HTMLElement.getPrototypeForTag(name)\n\n var prototypesByName = {};\n\n function registerPrototype(name, prototype) {\n return prototypesByName[name] = prototype || {};\n }\n\n function getRegisteredPrototype(name) {\n return prototypesByName[name];\n }\n\n // exports\n\n scope.getRegisteredPrototype = getRegisteredPrototype;\n scope.waitingForPrototype = waitingForPrototype;\n\n // namespace shenanigans so we can expose our scope on the registration \n // function\n\n // make window.Polymer reference `element()`\n\n window.Polymer = element;\n\n // TODO(sjmiles): find a way to do this that is less terrible\n // copy window.Polymer properties onto `element()`\n\n extend(Polymer, scope);\n\n // Under the HTMLImports polyfill, scripts in the main document\n // do not block on imports; we want to allow calls to Polymer in the main\n // document. Platform collects those calls until we can process them, which\n // we do here.\n\n var declarations = Platform.deliverDeclarations();\n if (declarations) {\n for (var i=0, l=declarations.length, d; (i<l) && (d=declarations[i]); i++) {\n element.apply(null, d);\n }\n }\n\n})(Polymer);\n","/* \n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\nvar path = {\n resolveElementPaths: function(node) {\n Platform.urlResolver.resolveDom(node);\n },\n addResolvePathApi: function() {\n // let assetpath attribute modify the resolve path\n var assetPath = this.getAttribute('assetpath') || '';\n var root = new URL(assetPath, this.ownerDocument.baseURI);\n this.prototype.resolvePath = function(urlPath, base) {\n var u = new URL(urlPath, base || root);\n return u.href;\n };\n }\n};\n\n// exports\nscope.api.declaration.path = path;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n var api = scope.api.instance.styles;\n var STYLE_SCOPE_ATTRIBUTE = api.STYLE_SCOPE_ATTRIBUTE;\n\n // magic words\n\n var STYLE_SELECTOR = 'style';\n var STYLE_LOADABLE_MATCH = '@import';\n var SHEET_SELECTOR = 'link[rel=stylesheet]';\n var STYLE_GLOBAL_SCOPE = 'global';\n var SCOPE_ATTR = 'polymer-scope';\n\n var styles = {\n // returns true if resources are loading\n loadStyles: function(callback) {\n var content = this.templateContent();\n if (content) {\n this.convertSheetsToStyles(content);\n }\n var styles = this.findLoadableStyles(content);\n if (styles.length) {\n Platform.styleResolver.loadStyles(styles, callback);\n } else if (callback) {\n callback();\n }\n },\n convertSheetsToStyles: function(root) {\n var s$ = root.querySelectorAll(SHEET_SELECTOR);\n for (var i=0, l=s$.length, s, c; (i<l) && (s=s$[i]); i++) {\n c = createStyleElement(importRuleForSheet(s, this.ownerDocument.baseURI),\n this.ownerDocument);\n this.copySheetAttributes(c, s);\n s.parentNode.replaceChild(c, s);\n }\n },\n copySheetAttributes: function(style, link) {\n for (var i=0, a$=link.attributes, l=a$.length, a; (a=a$[i]) && i<l; i++) {\n if (a.name !== 'rel' && a.name !== 'href') {\n style.setAttribute(a.name, a.value);\n }\n }\n },\n findLoadableStyles: function(root) {\n var loadables = [];\n if (root) {\n var s$ = root.querySelectorAll(STYLE_SELECTOR);\n for (var i=0, l=s$.length, s; (i<l) && (s=s$[i]); i++) {\n if (s.textContent.match(STYLE_LOADABLE_MATCH)) {\n loadables.push(s);\n }\n }\n }\n return loadables;\n },\n /**\n * Install external stylesheets loaded in <polymer-element> elements into the \n * element's template.\n * @param elementElement The <element> element to style.\n */\n installSheets: function() {\n this.cacheSheets();\n this.cacheStyles();\n this.installLocalSheets();\n this.installGlobalStyles();\n },\n /**\n * Remove all sheets from element and store for later use.\n */\n cacheSheets: function() {\n this.sheets = this.findNodes(SHEET_SELECTOR);\n this.sheets.forEach(function(s) {\n if (s.parentNode) {\n s.parentNode.removeChild(s);\n }\n });\n },\n cacheStyles: function() {\n this.styles = this.findNodes(STYLE_SELECTOR + '[' + SCOPE_ATTR + ']');\n this.styles.forEach(function(s) {\n if (s.parentNode) {\n s.parentNode.removeChild(s);\n }\n });\n },\n /**\n * Takes external stylesheets loaded in an <element> element and moves\n * their content into a <style> element inside the <element>'s template.\n * The sheet is then removed from the <element>. This is done only so \n * that if the element is loaded in the main document, the sheet does\n * not become active.\n * Note, ignores sheets with the attribute 'polymer-scope'.\n * @param elementElement The <element> element to style.\n */\n installLocalSheets: function () {\n var sheets = this.sheets.filter(function(s) {\n return !s.hasAttribute(SCOPE_ATTR);\n });\n var content = this.templateContent();\n if (content) {\n var cssText = '';\n sheets.forEach(function(sheet) {\n cssText += cssTextFromSheet(sheet) + '\\n';\n });\n if (cssText) {\n var style = createStyleElement(cssText, this.ownerDocument);\n content.insertBefore(style, content.firstChild);\n }\n }\n },\n findNodes: function(selector, matcher) {\n var nodes = this.querySelectorAll(selector).array();\n var content = this.templateContent();\n if (content) {\n var templateNodes = content.querySelectorAll(selector).array();\n nodes = nodes.concat(templateNodes);\n }\n return matcher ? nodes.filter(matcher) : nodes;\n },\n templateContent: function() {\n var template = this.querySelector('template');\n return template && templateContent(template);\n },\n /**\n * Promotes external stylesheets and <style> elements with the attribute \n * polymer-scope='global' into global scope.\n * This is particularly useful for defining @keyframe rules which \n * currently do not function in scoped or shadow style elements.\n * (See wkb.ug/72462)\n * @param elementElement The <element> element to style.\n */\n // TODO(sorvell): remove when wkb.ug/72462 is addressed.\n installGlobalStyles: function() {\n var style = this.styleForScope(STYLE_GLOBAL_SCOPE);\n applyStyleToScope(style, document.head);\n },\n cssTextForScope: function(scopeDescriptor) {\n var cssText = '';\n // handle stylesheets\n var selector = '[' + SCOPE_ATTR + '=' + scopeDescriptor + ']';\n var matcher = function(s) {\n return matchesSelector(s, selector);\n };\n var sheets = this.sheets.filter(matcher);\n sheets.forEach(function(sheet) {\n cssText += cssTextFromSheet(sheet) + '\\n\\n';\n });\n // handle cached style elements\n var styles = this.styles.filter(matcher);\n styles.forEach(function(style) {\n cssText += style.textContent + '\\n\\n';\n });\n return cssText;\n },\n styleForScope: function(scopeDescriptor) {\n var cssText = this.cssTextForScope(scopeDescriptor);\n return this.cssTextToScopeStyle(cssText, scopeDescriptor);\n },\n cssTextToScopeStyle: function(cssText, scopeDescriptor) {\n if (cssText) {\n var style = createStyleElement(cssText);\n style.setAttribute(STYLE_SCOPE_ATTRIBUTE, this.getAttribute('name') +\n '-' + scopeDescriptor);\n return style;\n }\n }\n };\n\n function importRuleForSheet(sheet, baseUrl) {\n var href = new URL(sheet.getAttribute('href'), baseUrl).href;\n return '@import \\'' + href + '\\';';\n }\n\n function applyStyleToScope(style, scope) {\n if (style) {\n if (scope === document) {\n scope = document.head;\n }\n if (window.ShadowDOMPolyfill) {\n scope = document.head;\n }\n // TODO(sorvell): necessary for IE\n // see https://connect.microsoft.com/IE/feedback/details/790212/\n // cloning-a-style-element-and-adding-to-document-produces\n // -unexpected-result#details\n // var clone = style.cloneNode(true);\n var clone = createStyleElement(style.textContent);\n var attr = style.getAttribute(STYLE_SCOPE_ATTRIBUTE);\n if (attr) {\n clone.setAttribute(STYLE_SCOPE_ATTRIBUTE, attr);\n }\n scope.appendChild(clone);\n }\n }\n\n function createStyleElement(cssText, scope) {\n scope = scope || document;\n scope = scope.createElement ? scope : scope.ownerDocument;\n var style = scope.createElement('style');\n style.textContent = cssText;\n return style;\n }\n\n function cssTextFromSheet(sheet) {\n return (sheet && sheet.__resource) || '';\n }\n\n function matchesSelector(node, inSelector) {\n if (matches) {\n return matches.call(node, inSelector);\n }\n }\n var p = HTMLElement.prototype;\n var matches = p.matches || p.matchesSelector || p.webkitMatchesSelector \n || p.mozMatchesSelector;\n \n // exports\n\n scope.api.declaration.styles = styles;\n scope.applyStyleToScope = applyStyleToScope;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n var api = scope.api.instance.events;\n var EVENT_PREFIX = api.EVENT_PREFIX;\n // polymer-element declarative api: events feature\n\n var events = { \n parseHostEvents: function() {\n // our delegates map\n var delegates = this.prototype.eventDelegates;\n // extract data from attributes into delegates\n this.addAttributeDelegates(delegates);\n },\n addAttributeDelegates: function(delegates) {\n // for each attribute\n for (var i=0, a; a=this.attributes[i]; i++) {\n // does it have magic marker identifying it as an event delegate?\n if (this.hasEventPrefix(a.name)) {\n // if so, add the info to delegates\n delegates[this.removeEventPrefix(a.name)] = a.value.replace('{{', '')\n .replace('}}', '').trim();\n }\n }\n },\n // starts with 'on-'\n hasEventPrefix: function (n) {\n return n && (n[0] === 'o') && (n[1] === 'n') && (n[2] === '-');\n },\n removeEventPrefix: function(n) {\n return n.slice(prefixLength);\n }\n };\n\n var prefixLength = EVENT_PREFIX.length;\n\n // exports\n scope.api.declaration.events = events;\n\n})(Polymer);","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // element api\n\n var properties = {\n inferObservers: function(prototype) {\n // called before prototype.observe is chained to inherited object\n var observe = prototype.observe, property;\n for (var n in prototype) {\n if (n.slice(-7) === 'Changed') {\n if (!observe) {\n observe = (prototype.observe = {});\n }\n property = n.slice(0, -7)\n observe[property] = observe[property] || n;\n }\n }\n },\n explodeObservers: function(prototype) {\n // called before prototype.observe is chained to inherited object\n var o = prototype.observe;\n if (o) {\n var exploded = {};\n for (var n in o) {\n var names = n.split(' ');\n for (var i=0, ni; ni=names[i]; i++) {\n exploded[ni] = o[n];\n }\n }\n prototype.observe = exploded;\n }\n },\n optimizePropertyMaps: function(prototype) {\n if (prototype.observe) {\n // construct name list\n var a = prototype._observeNames = [];\n for (var n in prototype.observe) {\n var names = n.split(' ');\n for (var i=0, ni; ni=names[i]; i++) {\n a.push(ni);\n }\n //a.push(n);\n }\n }\n if (prototype.publish) {\n // construct name list\n var a = prototype._publishNames = [];\n for (var n in prototype.publish) {\n a.push(n);\n }\n }\n },\n publishProperties: function(prototype, base) {\n // if we have any properties to publish\n var publish = prototype.publish;\n if (publish) {\n // transcribe `publish` entries onto own prototype\n this.requireProperties(publish, prototype, base);\n // construct map of lower-cased property names\n prototype._publishLC = this.lowerCaseMap(publish);\n }\n },\n requireProperties: function(properties, prototype, base) {\n // ensure a prototype value for each property\n for (var n in properties) {\n if (prototype[n] === undefined && base[n] === undefined) {\n prototype[n] = properties[n];\n }\n }\n },\n lowerCaseMap: function(properties) {\n var map = {};\n for (var n in properties) {\n map[n.toLowerCase()] = n;\n }\n return map;\n }\n };\n\n // exports\n\n scope.api.declaration.properties = properties;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // magic words\n\n var ATTRIBUTES_ATTRIBUTE = 'attributes';\n var ATTRIBUTES_REGEX = /\\s|,/;\n\n // attributes api\n\n var attributes = {\n inheritAttributesObjects: function(prototype) {\n // chain our lower-cased publish map to the inherited version\n this.inheritObject(prototype, 'publishLC');\n // chain our instance attributes map to the inherited version\n this.inheritObject(prototype, '_instanceAttributes');\n },\n publishAttributes: function(prototype, base) {\n // merge names from 'attributes' attribute\n var attributes = this.getAttribute(ATTRIBUTES_ATTRIBUTE);\n if (attributes) {\n // get properties to publish\n var publish = prototype.publish || (prototype.publish = {});\n // names='a b c' or names='a,b,c'\n var names = attributes.split(ATTRIBUTES_REGEX);\n // record each name for publishing\n for (var i=0, l=names.length, n; i<l; i++) {\n // remove excess ws\n n = names[i].trim();\n // do not override explicit entries\n if (n && publish[n] === undefined && base[n] === undefined) {\n publish[n] = null;\n }\n }\n }\n },\n // record clonable attributes from <element>\n accumulateInstanceAttributes: function() {\n // inherit instance attributes\n var clonable = this.prototype._instanceAttributes;\n // merge attributes from element\n var a$ = this.attributes;\n for (var i=0, l=a$.length, a; (i<l) && (a=a$[i]); i++) { \n if (this.isInstanceAttribute(a.name)) {\n clonable[a.name] = a.value;\n }\n }\n },\n isInstanceAttribute: function(name) {\n return !this.blackList[name] && name.slice(0,3) !== 'on-';\n },\n // do not clone these attributes onto instances\n blackList: {\n name: 1,\n 'extends': 1,\n constructor: 1,\n noscript: 1,\n assetpath: 1,\n 'cache-csstext': 1\n }\n };\n\n // add ATTRIBUTES_ATTRIBUTE to the blacklist\n attributes.blackList[ATTRIBUTES_ATTRIBUTE] = 1;\n\n // exports\n\n scope.api.declaration.attributes = attributes;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n \n var api = scope.api;\n var isBase = scope.isBase;\n var extend = scope.extend;\n\n // prototype api\n\n var prototype = {\n\n register: function(name, extendeeName) {\n // build prototype combining extendee, Polymer base, and named api\n this.buildPrototype(name, extendeeName);\n // register our custom element with the platform\n this.registerPrototype(name, extendeeName);\n // reference constructor in a global named by 'constructor' attribute\n this.publishConstructor();\n },\n\n buildPrototype: function(name, extendeeName) {\n // get our custom prototype (before chaining)\n var extension = scope.getRegisteredPrototype(name);\n // get basal prototype\n var base = this.generateBasePrototype(extendeeName);\n // implement declarative features\n this.desugarBeforeChaining(extension, base);\n // join prototypes\n this.prototype = this.chainPrototypes(extension, base);\n // more declarative features\n this.desugarAfterChaining(name, extendeeName);\n },\n\n desugarBeforeChaining: function(prototype, base) {\n // back reference declaration element\n // TODO(sjmiles): replace `element` with `elementElement` or `declaration`\n prototype.element = this;\n // transcribe `attributes` declarations onto own prototype's `publish`\n this.publishAttributes(prototype, base);\n // `publish` properties to the prototype and to attribute watch\n this.publishProperties(prototype, base);\n // infer observers for `observe` list based on method names\n this.inferObservers(prototype);\n // desugar compound observer syntax, e.g. 'a b c' \n this.explodeObservers(prototype);\n },\n\n chainPrototypes: function(prototype, base) {\n // chain various meta-data objects to inherited versions\n this.inheritMetaData(prototype, base);\n // chain custom api to inherited\n var chained = this.chainObject(prototype, base);\n // x-platform fixup\n ensurePrototypeTraversal(chained);\n return chained;\n },\n\n inheritMetaData: function(prototype, base) {\n // chain observe object to inherited\n this.inheritObject('observe', prototype, base);\n // chain publish object to inherited\n this.inheritObject('publish', prototype, base);\n // chain our lower-cased publish map to the inherited version\n this.inheritObject('_publishLC', prototype, base);\n // chain our instance attributes map to the inherited version\n this.inheritObject('_instanceAttributes', prototype, base);\n // chain our event delegates map to the inherited version\n this.inheritObject('eventDelegates', prototype, base);\n },\n\n // implement various declarative features\n desugarAfterChaining: function(name, extendee) {\n // build side-chained lists to optimize iterations\n this.optimizePropertyMaps(this.prototype);\n // install external stylesheets as if they are inline\n this.installSheets();\n // adjust any paths in dom from imports\n this.resolveElementPaths(this);\n // compile list of attributes to copy to instances\n this.accumulateInstanceAttributes();\n // parse on-* delegates declared on `this` element\n this.parseHostEvents();\n //\n // install a helper method this.resolvePath to aid in \n // setting resource urls. e.g.\n // this.$.image.src = this.resolvePath('images/foo.png')\n this.addResolvePathApi();\n // under ShadowDOMPolyfill, transforms to approximate missing CSS features\n if (window.ShadowDOMPolyfill) {\n Platform.ShadowCSS.shimStyling(this.templateContent(), name, extendee);\n }\n // allow custom element access to the declarative context\n if (this.prototype.registerCallback) {\n this.prototype.registerCallback(this);\n }\n },\n\n // if a named constructor is requested in element, map a reference\n // to the constructor to the given symbol\n publishConstructor: function() {\n var symbol = this.getAttribute('constructor');\n if (symbol) {\n window[symbol] = this.ctor;\n }\n },\n\n // build prototype combining extendee, Polymer base, and named api\n generateBasePrototype: function(extnds) {\n var prototype = this.findBasePrototype(extnds);\n if (!prototype) {\n // create a prototype based on tag-name extension\n var prototype = HTMLElement.getPrototypeForTag(extnds);\n // insert base api in inheritance chain (if needed)\n prototype = this.ensureBaseApi(prototype);\n // memoize this base\n memoizedBases[extnds] = prototype;\n }\n return prototype;\n },\n\n findBasePrototype: function(name) {\n return memoizedBases[name];\n },\n\n // install Polymer instance api into prototype chain, as needed \n ensureBaseApi: function(prototype) {\n if (prototype.PolymerBase) {\n return prototype;\n }\n var extended = Object.create(prototype);\n // we need a unique copy of base api for each base prototype\n // therefore we 'extend' here instead of simply chaining\n api.publish(api.instance, extended);\n // TODO(sjmiles): sharing methods across prototype chains is\n // not supported by 'super' implementation which optimizes\n // by memoizing prototype relationships.\n // Probably we should have a version of 'extend' that is \n // share-aware: it could study the text of each function,\n // look for usage of 'super', and wrap those functions in\n // closures.\n // As of now, there is only one problematic method, so \n // we just patch it manually.\n // To avoid re-entrancy problems, the special super method\n // installed is called `mixinSuper` and the mixin method\n // must use this method instead of the default `super`.\n this.mixinMethod(extended, prototype, api.instance.mdv, 'bind');\n // return buffed-up prototype\n return extended;\n },\n\n mixinMethod: function(extended, prototype, api, name) {\n var $super = function(args) {\n return prototype[name].apply(this, args);\n };\n extended[name] = function() {\n this.mixinSuper = $super;\n return api[name].apply(this, arguments);\n }\n },\n\n // ensure prototype[name] inherits from a prototype.prototype[name]\n inheritObject: function(name, prototype, base) {\n // require an object\n var source = prototype[name] || {};\n // chain inherited properties onto a new object\n prototype[name] = this.chainObject(source, base[name]);\n },\n\n // register 'prototype' to custom element 'name', store constructor \n registerPrototype: function(name, extendee) { \n var info = {\n prototype: this.prototype\n }\n // native element must be specified in extends\n var typeExtension = this.findTypeExtension(extendee);\n if (typeExtension) {\n info.extends = typeExtension;\n }\n // register the prototype with HTMLElement for name lookup\n HTMLElement.register(name, this.prototype);\n // register the custom type\n this.ctor = document.registerElement(name, info);\n },\n\n findTypeExtension: function(name) {\n if (name && name.indexOf('-') < 0) {\n return name;\n } else {\n var p = this.findBasePrototype(name);\n if (p.element) {\n return this.findTypeExtension(p.element.extends);\n }\n }\n }\n\n };\n\n // memoize base prototypes\n var memoizedBases = {};\n\n // implementation of 'chainObject' depends on support for __proto__\n if (Object.__proto__) {\n prototype.chainObject = function(object, inherited) {\n if (object && inherited && object !== inherited) {\n object.__proto__ = inherited;\n }\n return object;\n }\n } else {\n prototype.chainObject = function(object, inherited) {\n if (object && inherited && object !== inherited) {\n var chained = Object.create(inherited);\n object = extend(chained, object);\n }\n return object;\n }\n }\n\n // On platforms that do not support __proto__ (versions of IE), the prototype\n // chain of a custom element is simulated via installation of __proto__.\n // Although custom elements manages this, we install it here so it's\n // available during desugaring.\n function ensurePrototypeTraversal(prototype) {\n if (!Object.__proto__) {\n var ancestor = Object.getPrototypeOf(prototype);\n prototype.__proto__ = ancestor;\n if (isBase(ancestor)) {\n ancestor.__proto__ = Object.getPrototypeOf(ancestor);\n }\n }\n }\n\n // exports\n\n api.declaration.prototype = prototype;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var queue = {\n // tell the queue to wait for an element to be ready\n wait: function(element, check, go) {\n if (this.indexOf(element) === -1) {\n this.add(element);\n element.__check = check;\n element.__go = go;\n }\n return (this.indexOf(element) !== 0);\n },\n add: function(element) {\n //console.log('queueing', element.name);\n queueForElement(element).push(element);\n },\n indexOf: function(element) {\n var i = queueForElement(element).indexOf(element);\n if (i >= 0 && document.contains(element)) {\n i += (HTMLImports.useNative || HTMLImports.ready) ? importQueue.length :\n 1e9;\n }\n return i; \n },\n // tell the queue an element is ready to be registered\n go: function(element) {\n var readied = this.remove(element);\n if (readied) {\n readied.__go.call(readied);\n readied.__check = readied.__go = null;\n this.check();\n }\n },\n remove: function(element) {\n var i = this.indexOf(element);\n if (i !== 0) {\n //console.warn('queue order wrong', i);\n return;\n }\n return queueForElement(element).shift(); \n },\n check: function() {\n // next\n var element = this.nextElement();\n if (element) {\n element.__check.call(element);\n }\n if (this.canReady()) {\n this.ready();\n return true;\n }\n },\n nextElement: function() {\n return nextQueued();\n },\n canReady: function() {\n return !this.waitToReady && this.isEmpty();\n },\n isEmpty: function() {\n return !importQueue.length && !mainQueue.length;\n },\n ready: function() {\n // TODO(sorvell): As an optimization, turn off CE polyfill upgrading\n // while registering. This way we avoid having to upgrade each document\n // piecemeal per registration and can instead register all elements\n // and upgrade once in a batch. Without this optimization, upgrade time\n // degrades significantly when SD polyfill is used. This is mainly because\n // querying the document tree for elements is slow under the SD polyfill.\n if (CustomElements.ready === false) {\n CustomElements.upgradeDocumentTree(document);\n CustomElements.ready = true;\n }\n if (readyCallbacks) {\n var fn;\n while (readyCallbacks.length) {\n fn = readyCallbacks.shift();\n fn();\n }\n }\n },\n addReadyCallback: function(callback) {\n if (callback) {\n readyCallbacks.push(callback);\n }\n },\n waitToReady: true\n };\n\n var importQueue = [];\n var mainQueue = [];\n var readyCallbacks = [];\n\n function queueForElement(element) {\n return document.contains(element) ? mainQueue : importQueue;\n }\n\n function nextQueued() {\n return importQueue.length ? importQueue[0] : mainQueue[0];\n }\n\n var polymerReadied = false; \n\n document.addEventListener('WebComponentsReady', function() {\n CustomElements.ready = false;\n });\n \n function whenPolymerReady(callback) {\n queue.waitToReady = true;\n CustomElements.ready = false;\n HTMLImports.whenImportsReady(function() {\n queue.addReadyCallback(callback);\n queue.waitToReady = false;\n queue.check();\n });\n }\n\n // exports\n scope.queue = queue;\n scope.whenPolymerReady = whenPolymerReady;\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var whenPolymerReady = scope.whenPolymerReady;\n\n function importElements(elementOrFragment, callback) {\n if (elementOrFragment) {\n document.head.appendChild(elementOrFragment);\n whenPolymerReady(callback);\n } else if (callback) {\n callback();\n }\n }\n\n function importUrls(urls, callback) {\n if (urls && urls.length) {\n var frag = document.createDocumentFragment();\n for (var i=0, l=urls.length, url, link; (i<l) && (url=urls[i]); i++) {\n link = document.createElement('link');\n link.rel = 'import';\n link.href = url;\n frag.appendChild(link);\n }\n importElements(frag, callback);\n } else if (callback) {\n callback();\n }\n }\n\n // exports\n scope.import = importUrls;\n scope.importElements = importElements;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var extend = scope.extend;\n var api = scope.api;\n var queue = scope.queue;\n var whenPolymerReady = scope.whenPolymerReady;\n var getRegisteredPrototype = scope.getRegisteredPrototype;\n var waitingForPrototype = scope.waitingForPrototype;\n\n // declarative implementation: <polymer-element>\n\n var prototype = extend(Object.create(HTMLElement.prototype), {\n\n createdCallback: function() {\n if (this.getAttribute('name')) {\n this.init();\n }\n },\n\n init: function() {\n // fetch declared values\n this.name = this.getAttribute('name');\n this.extends = this.getAttribute('extends');\n // initiate any async resource fetches\n this.loadResources();\n // register when all constraints are met\n this.registerWhenReady();\n },\n\n registerWhenReady: function() {\n if (this.registered\n || this.waitingForPrototype(this.name)\n || this.waitingForQueue()\n || this.waitingForResources()) {\n return;\n }\n queue.go(this);\n },\n\n\n // TODO(sorvell): refactor, this method is private-ish, but it's being\n // called by the queue object.\n _register: function() {\n //console.log('registering', this.name);\n //console.group('registering', this.name);\n // warn if extending from a custom element not registered via Polymer\n if (isCustomTag(this.extends) && !isRegistered(this.extends)) {\n console.warn('%s is attempting to extend %s, an unregistered element ' +\n 'or one that was not registered with Polymer.', this.name,\n this.extends);\n }\n this.register(this.name, this.extends);\n this.registered = true;\n //console.groupEnd();\n },\n\n waitingForPrototype: function(name) {\n if (!getRegisteredPrototype(name)) {\n // then wait for a prototype\n waitingForPrototype(name, this);\n // emulate script if user is not supplying one\n this.handleNoScript(name);\n // prototype not ready yet\n return true;\n }\n },\n\n handleNoScript: function(name) {\n // if explicitly marked as 'noscript'\n if (this.hasAttribute('noscript') && !this.noscript) {\n this.noscript = true;\n // TODO(sorvell): CustomElements polyfill awareness:\n // noscript elements should upgrade in logical order\n // script injection ensures this under native custom elements;\n // under imports + ce polyfills, scripts run before upgrades.\n // dependencies should be ready at upgrade time so register\n // prototype at this time.\n if (window.CustomElements && !CustomElements.useNative) {\n Polymer(name);\n } else {\n var script = document.createElement('script');\n script.textContent = 'Polymer(\\'' + name + '\\');';\n this.appendChild(script);\n }\n }\n },\n\n waitingForResources: function() {\n return this._needsResources;\n },\n\n // NOTE: Elements must be queued in proper order for inheritance/composition\n // dependency resolution. Previously this was enforced for inheritance,\n // and by rule for composition. It's now entirely by rule.\n waitingForQueue: function() {\n return queue.wait(this, this.registerWhenReady, this._register);\n },\n\n loadResources: function() {\n this._needsResources = true;\n this.loadStyles(function() {\n this._needsResources = false;\n this.registerWhenReady();\n }.bind(this));\n }\n\n });\n\n // semi-pluggable APIs \n\n // TODO(sjmiles): should be fully pluggable (aka decoupled, currently\n // the various plugins are allowed to depend on each other directly)\n api.publish(api.declaration, prototype);\n\n // utility and bookkeeping\n\n function isRegistered(name) {\n return Boolean(HTMLElement.getPrototypeForTag(name));\n }\n\n function isCustomTag(name) {\n return (name && name.indexOf('-') >= 0);\n }\n\n // exports\n\n scope.getRegisteredPrototype = getRegisteredPrototype;\n \n // boot tasks\n\n whenPolymerReady(function() {\n document.body.removeAttribute('unresolved');\n document.dispatchEvent(\n new CustomEvent('polymer-ready', {bubbles: true})\n );\n });\n\n // register polymer-element with document\n\n document.registerElement('polymer-element', {prototype: prototype});\n\n})(Polymer);\n"]} \ No newline at end of file
+{"version":3,"file":"polymer.js","sources":["../src/polymer.js","../src/boot.js","../src/lib/lang.js","../src/lib/job.js","../src/lib/dom.js","../src/lib/super.js","../src/lib/deserialize.js","../src/api.js","../src/instance/utils.js","../src/instance/events.js","../src/instance/attributes.js","../src/instance/properties.js","../src/instance/mdv.js","../src/instance/base.js","../src/instance/styles.js","../src/declaration/polymer.js","../src/declaration/path.js","../src/declaration/styles.js","../src/declaration/events.js","../src/declaration/properties.js","../src/declaration/attributes.js","../src/declaration/prototype.js","../src/declaration/queue.js","../src/declaration/import.js","../src/declaration/polymer-element.js"],"names":["Polymer","window","scope","extend","prototype","api","Object","getOwnPropertyNames","forEach","n","pd","getOwnPropertyDescriptor","defineProperty","value","nom","job","callback","wait","stop","Job","this","go","inContext","context","boundComplete","complete","bind","h","setTimeout","handle","clearTimeout","requestAnimationFrame","cancelAnimationFrame","call","registry","HTMLElement","register","tag","getPrototypeForTag","getPrototypeOf","document","createElement","originalStopPropagation","Event","stopPropagation","cancelBubble","apply","arguments","$super","arrayOfArgs","caller","_super","nameInThis","console","warn","memoizeSuper","fn","nextSuper","proto","name","method","p","__proto__","n$","i","l","length","d","super","deserializeValue","currentValue","inferredType","Date","typeHandlers","string","date","parse","now","boolean","number","parseFloat","parseInt","isNaN","object","JSON","replace","e","function","declaration","instance","publish","apis","utils","async","args","timeout","Platform","flush","cancelAsync","fire","type","detail","onNode","bubbles","cancelable","node","event","CustomEvent","undefined","dispatchEvent","asyncFire","classFollows","anew","old","className","classList","remove","add","nop","nob","asyncMethod","log","logFlags","EVENT_PREFIX","events","addHostListeners","eventDelegates","keys","localName","bindable","eventName","self","PolymerExpressions","prepareEventBinding","Path","get","resolveEventHandler","model","path","getValueFrom","dispatchMethod","obj","group","groupEnd","attributes","copyInstanceAttributes","a$","_instanceAttributes","k","hasAttribute","setAttribute","takeAttributes","_publishLC","a","attributeToProperty","propertyForAttribute","search","bindPattern","match","stringValue","serializeValue","reflectPropertyToAttribute","serializedValue","removeAttribute","bindProperties","inA","inProperty","observable","LOG_BIND_PROPS","inB","inPath","v","discardChanges","setValue","Observer","defineComputedProperty","properties","observeProperties","_observeNames","pn$","_publishNames","o","_propertyObserver","CompoundObserver","registerObservers","addPath","observeArrayValue","observe","open","notifyPropertyChanges","newValues","oldValues","paths","called","invokeMethod","callbackName","Array","isArray","closeNamedObserver","observer","ArrayObserver","registerNamedObserver","bindProperty","property","observers","_observers","push","closeObservers","closeObserverArray","observerArray","close","o$","_namedObservers","closeNamedObservers","findEventController","parentNode","lightDomController","host","syntax","ctlr","mdv","instanceTemplate","template","dom","createInstance","bindings_","enableBindingsReflection","path_","mixinSuper","asyncUnbindAll","_unbound","unbind","_unbindAllJob","unbindAll","cancelUnbindAll","mustachePattern","isBase","hasOwnProperty","PolymerBase","base","created","ready","createdCallback","templateInstance","prepareElement","_elementPrepared","shadowRoots","parseDeclarations","attachedCallback","attached","enteredView","hasBeenAttached","domReady","detachedCallback","preventDispose","detached","leftView","enteredViewCallback","leftViewCallback","enteredDocumentCallback","leftDocumentCallback","element","parseDeclaration","elementElement","fetchTemplate","root","shadowFromTemplate","querySelector","createShadowRoot","appendChild","shadowRootReady","lightFromTemplate","refNode","insertBefore","marshalNodeReferences","PointerGestures","$","querySelectorAll","id","attributeChangedCallback","getAttribute","attributeChanged","onMutation","listener","MutationObserver","mutations","disconnect","childList","subtree","constructor","Base","shimCssText","cssText","is","selector","ShadowCSS","makeScopeSelector","STYLE_SCOPE_ATTRIBUTE","STYLE_CONTROLLER_SCOPE","styles","installControllerStyles","findStyleScope","scopeHasNamedStyle","cssTextForScope","installScopeCssText","installScopeStyle","style","s","textContent","ShadowDOMPolyfill","cssTextToScopeStyle","applyStyleToScope","_scopeStyles","script","_currentScript","getRegisteredPrototype","registerPrototype","notifyPrototype","waitingForPrototype","client","waitPrototype","registerWhenReady","prototypesByName","declarations","deliverDeclarations","resolveElementPaths","urlResolver","resolveDom","addResolvePathApi","assetPath","URL","ownerDocument","baseURI","resolvePath","urlPath","u","href","importRuleForSheet","sheet","baseUrl","head","clone","createStyleElement","attr","firstElementChild","s$","nextElementSibling","cssTextFromSheet","__resource","matchesSelector","inSelector","matches","STYLE_SELECTOR","STYLE_LOADABLE_MATCH","SHEET_SELECTOR","STYLE_GLOBAL_SCOPE","SCOPE_ATTR","loadStyles","content","templateContent","convertSheetsToStyles","findLoadableStyles","styleResolver","c","copySheetAttributes","replaceChild","link","loadables","installSheets","cacheSheets","cacheStyles","installLocalSheets","installGlobalStyles","sheets","findNodes","removeChild","filter","firstChild","matcher","nodes","array","templateNodes","concat","styleForScope","scopeDescriptor","webkitMatchesSelector","mozMatchesSelector","parseHostEvents","delegates","addAttributeDelegates","hasEventPrefix","removeEventPrefix","trim","slice","prefixLength","inferObservers","explodeObservers","exploded","ni","names","split","optimizePropertyMaps","publishProperties","requireProperties","lowerCaseMap","map","toLowerCase","ATTRIBUTES_ATTRIBUTE","ATTRIBUTES_REGEX","inheritAttributesObjects","inheritObject","publishAttributes","accumulateInstanceAttributes","clonable","isInstanceAttribute","blackList","extends","noscript","assetpath","cache-csstext","ensurePrototypeTraversal","ancestor","extendeeName","buildPrototype","publishConstructor","extension","generateBasePrototype","desugarBeforeChaining","chainPrototypes","desugarAfterChaining","inheritMetaData","chained","chainObject","extendee","shimStyling","registerCallback","symbol","ctor","extnds","findBasePrototype","ensureBaseApi","memoizedBases","extended","create","mixinMethod","source","info","typeExtension","findTypeExtension","registerElement","indexOf","inherited","queueForElement","contains","mainQueue","importQueue","nextQueued","whenPolymerReady","queue","waitToReady","CustomElements","HTMLImports","whenImportsReady","addReadyCallback","check","__check","__go","useNative","readied","shift","nextElement","canReady","isEmpty","upgradeDocumentTree","readyCallbacks","addEventListener","importElements","elementOrFragment","importUrls","urls","url","frag","createDocumentFragment","rel","import","isRegistered","Boolean","isCustomTag","init","loadResources","registered","waitingForQueue","waitingForResources","_register","handleNoScript","_needsResources","body"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKAA,WCI8B,kBAAnBC,QAAOD,UAChBA,YCLF,SAAUE,GAGR,QAASC,GAAOC,EAAWC,GAiBzB,MAhBID,IAAaC,GAEfC,OAAOC,oBAAoBF,GAAKG,QAAQ,SAASC,GAE/C,GAAIC,GAAKJ,OAAOK,yBAAyBN,EAAKI,EAC1CC,KAEFJ,OAAOM,eAAeR,EAAWK,EAAGC,GAEb,kBAAZA,GAAGG,QAEZH,EAAGG,MAAMC,IAAML,MAKhBL,EAKTF,EAAMC,OAASA,GAEdH,SC1BH,SAAUE,GA6CR,QAASa,GAAIA,EAAKC,EAAUC,GAO1B,MANIF,GACFA,EAAIG,OAEJH,EAAM,GAAII,GAAIC,MAEhBL,EAAIM,GAAGL,EAAUC,GACVF,EAzCT,GAAII,GAAM,SAASG,GACjBF,KAAKG,QAAUD,EACfF,KAAKI,cAAgBJ,KAAKK,SAASC,KAAKN,MAE1CD,GAAIf,WACFiB,GAAI,SAASL,EAAUC,GACrBG,KAAKJ,SAAWA,CAChB,IAAIW,EACCV,IAMHU,EAAIC,WAAWR,KAAKI,cAAeP,GACnCG,KAAKS,OAAS,WACZC,aAAaH,MAPfA,EAAII,sBAAsBX,KAAKI,eAC/BJ,KAAKS,OAAS,WACZG,qBAAqBL,MAS3BT,KAAM,WACAE,KAAKS,SACPT,KAAKS,SACLT,KAAKS,OAAS,OAGlBJ,SAAU,WACJL,KAAKS,SACPT,KAAKF,OACLE,KAAKJ,SAASiB,KAAKb,KAAKG,YAiB9BrB,EAAMa,IAAMA,GAEXf,SC5DH,WAEE,GAAIkC,KAEJC,aAAYC,SAAW,SAASC,EAAKjC,GACnC8B,EAASG,GAAOjC,GAIlB+B,YAAYG,mBAAqB,SAASD,GACxC,GAAIjC,GAAaiC,EAA8BH,EAASG,GAAjCF,YAAY/B,SAEnC,OAAOA,IAAaE,OAAOiC,eAAeC,SAASC,cAAcJ,IAInE,IAAIK,GAA0BC,MAAMvC,UAAUwC,eAC9CD,OAAMvC,UAAUwC,gBAAkB,WAChCxB,KAAKyB,cAAe,EACpBH,EAAwBI,MAAM1B,KAAM2B,aASrC/C,SC5BF,SAAUE,GAgBP,QAAS8C,GAAOC,GAMd,GAAIC,GAASF,EAAOE,OAEhBpC,EAAMoC,EAAOpC,IAEbqC,EAASD,EAAOC,MAYpB,IAXKA,IACErC,IACHA,EAAMoC,EAAOpC,IAAMsC,EAAWnB,KAAKb,KAAM8B,IAEtCpC,GACHuC,QAAQC,KAAK,iFAIfH,EAASI,EAAaL,EAAQpC,EAAKyB,EAAenB,QAE/C+B,EAGE,CAEL,GAAIK,GAAKL,EAAOrC,EAOhB,OALK0C,GAAGL,QACNI,EAAaC,EAAI1C,EAAKqC,GAIjBK,EAAGV,MAAM1B,KAAM6B,QAI1B,QAASQ,GAAUC,EAAOC,EAAMT,GAE9B,KAAOQ,GAAO,CACZ,GAAKA,EAAMC,KAAUT,GAAWQ,EAAMC,GACpC,MAAOD,EAETA,GAAQnB,EAAemB,IAI3B,QAASH,GAAaK,EAAQD,EAAMD,GAUlC,MANAE,GAAOT,OAASM,EAAUC,EAAOC,EAAMC,GACnCA,EAAOT,SAGTS,EAAOT,OAAOQ,GAAM7C,IAAM6C,GAErBC,EAAOT,OAGhB,QAASC,GAAWvC,GAElB,IADA,GAAIgD,GAAIzC,KAAK0C,UACND,GAAKA,IAAM1B,YAAY/B,WAAW,CAGvC,IAAK,GAAsBK,GADvBsD,EAAKzD,OAAOC,oBAAoBsD,GAC3BG,EAAE,EAAGC,EAAEF,EAAGG,OAAaD,EAAFD,IAAQvD,EAAEsD,EAAGC,IAAKA,IAAK,CACnD,GAAIG,GAAI7D,OAAOK,yBAAyBkD,EAAGpD,EAC3C,IAAuB,kBAAZ0D,GAAEtD,OAAwBsD,EAAEtD,QAAUA,EAC/C,MAAOJ,GAGXoD,EAAIA,EAAEC,WAOV,QAASvB,GAAenC,GACtB,MAAOA,GAAU0D,UAkBnB5D,EAAMkE,MAAQpB,GAEfhD,SCnHH,SAAUE,GA8CR,QAASmE,GAAiBxD,EAAOyD,GAE/B,GAAIC,SAAsBD,EAM1B,OAJIA,aAAwBE,QAC1BD,EAAe,QAGVE,EAAaF,GAAc1D,EAAOyD,GApD3C,GAAIG,IACFC,OAAQ,SAAS7D,GACf,MAAOA,IAET8D,KAAM,SAAS9D,GACb,MAAO,IAAI2D,MAAKA,KAAKI,MAAM/D,IAAU2D,KAAKK,QAE5CC,UAAS,SAASjE,GAChB,MAAc,KAAVA,GACK,EAEQ,UAAVA,GAAoB,IAAUA,GAEvCkE,OAAQ,SAASlE,GACf,GAAIJ,GAAIuE,WAAWnE,EAKnB,OAHU,KAANJ,IACFA,EAAIwE,SAASpE,IAERqE,MAAMzE,GAAKI,EAAQJ,GAK5B0E,OAAQ,SAAStE,EAAOyD,GACtB,GAAqB,OAAjBA,EACF,MAAOzD,EAET,KAIE,MAAOuE,MAAKR,MAAM/D,EAAMwE,QAAQ,KAAM,MACtC,MAAMC,GAEN,MAAOzE,KAIX0E,WAAY,SAAS1E,EAAOyD,GAC1B,MAAOA,IAiBXpE,GAAMmE,iBAAmBA,GAExBrE,SC9DH,SAAUE,GAIR,GAAIC,GAASD,EAAMC,OAIfE,IAEJA,GAAImF,eACJnF,EAAIoF,YAEJpF,EAAIqF,QAAU,SAASC,EAAMvF,GAC3B,IAAK,GAAIK,KAAKkF,GACZxF,EAAOC,EAAWuF,EAAKlF,KAM3BP,EAAMG,IAAMA,GAEXL,SCvBH,SAAUE,GAER,GAAI0F,IASFC,MAAO,SAASjC,EAAQkC,EAAMC,GAG5BC,SAASC,QAETH,EAAQA,GAAQA,EAAK5B,OAAU4B,GAAQA,EAEvC,IAAItC,GAAK,YACNpC,KAAKwC,IAAWA,GAAQd,MAAM1B,KAAM0E,IACrCpE,KAAKN,MAEHS,EAASkE,EAAUnE,WAAW4B,EAAIuC,GAClChE,sBAAsByB,EAE1B,OAAOuC,GAAUlE,GAAUA,GAE7BqE,YAAa,SAASrE,GACP,EAATA,EACFG,sBAAsBH,GAEtBC,aAAaD,IAWjBsE,KAAM,SAASC,EAAMC,EAAQC,EAAQC,EAASC,GAC5C,GAAIC,GAAOH,GAAUlF,KACjBiF,EAASA,MACTK,EAAQ,GAAIC,aAAYP,GAC1BG,QAAsBK,SAAZL,EAAwBA,GAAU,EAC5CC,WAA4BI,SAAfJ,EAA2BA,GAAa,EACrDH,OAAQA,GAGV,OADAI,GAAKI,cAAcH,GACZA,GASTI,UAAW,WACT1F,KAAKyE,MAAM,OAAQ9C,YASrBgE,aAAc,SAASC,EAAMC,EAAKC,GAC5BD,GACFA,EAAIE,UAAUC,OAAOF,GAEnBF,GACFA,EAAKG,UAAUE,IAAIH,KAMrBI,EAAM,aAGNC,IAIJ3B,GAAM4B,YAAc5B,EAAMC,MAI1B3F,EAAMG,IAAIoF,SAASG,MAAQA,EAC3B1F,EAAMoH,IAAMA,EACZpH,EAAMqH,IAAMA,GAEXvH,SC/FH,SAAUE,GAIR,GAAIuH,GAAMxH,OAAOyH,aACbC,EAAe,MAGfC,GAEFD,aAAcA,EAEdE,iBAAkB,WAChB,GAAID,GAASxG,KAAK0G,cAClBL,GAAIG,QAAWtH,OAAOyH,KAAKH,GAAQ1D,OAAS,GAAMb,QAAQoE,IAAI,yBAA0BrG,KAAK4G,UAAWJ,EAOxG,IAAiBK,GAAUC,EAAvBC,EAAO/G,IACX,KAAK,GAAIX,KAAKmH,GACZM,EAAYP,EAAelH,GAC3BwH,EAAWG,mBAAmBC,oBAC5BC,KAAKC,IAAIX,EAAOnH,IAChByH,GAEEM,oBAAqB,SAASC,EAAOC,GACnC,GAAIlF,GAAKkF,EAAKC,aAAaR,EAC3B,OAAI3E,GACKA,EAAG9B,KAAKyG,GADjB,WAMG/G,KAAMA,MAAM,IAIzBwH,eAAgB,SAASC,EAAKjF,EAAQkC,GACpC,GAAI+C,EAAK,CACPpB,EAAIG,QAAUvE,QAAQyF,MAAM,qBAAsBD,EAAIb,UAAWpE,EACjE,IAAIJ,GAAuB,kBAAXI,GAAwBA,EAASiF,EAAIjF,EACjDJ,IACFA,EAAGsC,EAAO,QAAU,QAAQ+C,EAAK/C,GAEnC2B,EAAIG,QAAUvE,QAAQ0F,WACtB/C,SAASC,UAOf/F,GAAMG,IAAIoF,SAASmC,OAASA,GAE3B5H,SC1DH,SAAUE,GAIR,GAAI8I,IACFC,uBAAwB,WACtB,GAAIC,GAAK9H,KAAK+H,mBACd,KAAK,GAAIC,KAAKF,GACP9H,KAAKiI,aAAaD,IACrBhI,KAAKkI,aAAaF,EAAGF,EAAGE,KAK9BG,eAAgB,WAGd,GAAInI,KAAKoI,WACP,IAAK,GAA0CC,GAAtCzF,EAAE,EAAGkF,EAAG9H,KAAK4H,WAAY/E,EAAEiF,EAAGhF,QAAYuF,EAAEP,EAAGlF,KAASC,EAAFD,EAAKA,IAClE5C,KAAKsI,oBAAoBD,EAAE9F,KAAM8F,EAAE5I,QAMzC6I,oBAAqB,SAAS/F,EAAM9C,GAGlC,GAAI8C,GAAOvC,KAAKuI,qBAAqBhG,EACrC,IAAIA,EAAM,CAIR,GAAI9C,GAASA,EAAM+I,OAAO1J,EAAM2J,cAAgB,EAC9C,MAGF,IAAIvF,GAAelD,KAAKuC,GAEpB9C,EAAQO,KAAKiD,iBAAiBxD,EAAOyD,EAErCzD,KAAUyD,IAEZlD,KAAKuC,GAAQ9C,KAKnB8I,qBAAsB,SAAShG,GAC7B,GAAImG,GAAQ1I,KAAKoI,YAAcpI,KAAKoI,WAAW7F,EAE/C,OAAOmG,IAGTzF,iBAAkB,SAAS0F,EAAazF,GACtC,MAAOpE,GAAMmE,iBAAiB0F,EAAazF,IAE7C0F,eAAgB,SAASnJ,EAAO0D,GAC9B,MAAqB,YAAjBA,EACK1D,EAAQ,GAAK+F,OACM,WAAjBrC,GAA8C,aAAjBA,GACvBqC,SAAV/F,EACEA,EAFF,QAKToJ,2BAA4B,SAAStG,GACnC,GAAIY,SAAsBnD,MAAKuC,GAE3BuG,EAAkB9I,KAAK4I,eAAe5I,KAAKuC,GAAOY,EAE9BqC,UAApBsD,EACF9I,KAAKkI,aAAa3F,EAAMuG,GAME,YAAjB3F,GACTnD,KAAK+I,gBAAgBxG,IAO3BzD,GAAMG,IAAIoF,SAASuD,WAAaA,GAE/BhJ,SCvFH,SAAUE,GAqIR,QAASkK,GAAeC,EAAKC,EAAYC,GACvC9C,EAAI/F,MAAQ2B,QAAQoE,IAAI+C,EAAgBC,IAAIzC,WAAa,SAAU0C,OAAQL,EAAIrC,UAAWsC,EAI1F,IAAIK,GAAIJ,EAAWK,gBAInB,QAHU,OAAND,GAAoB/D,SAAN+D,IAChBJ,EAAWM,SAASR,EAAIC,IAEnBQ,SAASC,uBAAuBV,EAAKC,EAAYC,GA1I1D,GAAI9C,GAAMxH,OAAOyH,aAUbsD,GACFC,kBAAmB,WACjB,GAAIlH,GAAK3C,KAAK8J,cAAeC,EAAM/J,KAAKgK,aACxC,IAAKrH,GAAMA,EAAGG,QAAYiH,GAAOA,EAAIjH,OAAS,CAC5C,GACImH,GAAIjK,KAAKkK,kBAAoB,GAAIC,iBAErCnK,MAAKoK,mBAAmBH,GACxB,KAAK,GAAsB5K,GAAlBuD,EAAE,EAAGC,EAAEF,EAAGG,OAAcD,EAAFD,IAASvD,EAAEsD,EAAGC,IAAKA,IAAK,CACrDqH,EAAEI,QAAQrK,KAAMX,EAEhB,IAAIC,GAAKJ,OAAOK,yBAAyBS,KAAK0C,UAAWrD,EACrDC,IAAMA,EAAGG,OACXO,KAAKsK,kBAAkBjL,EAAGC,EAAGG,MAAO,MAGxC,IAAK,GAAuBJ,GAAnBuD,EAAE,EAAGC,EAAEkH,EAAIjH,OAAcD,EAAFD,IAASvD,EAAE0K,EAAInH,IAAKA,IAC7C5C,KAAKuK,SAAgC/E,SAApBxF,KAAKuK,QAAQlL,IACjC4K,EAAEI,QAAQrK,KAAMX,EAGpB4K,GAAEO,KAAKxK,KAAKyK,sBAAuBzK,QAGvCyK,sBAAuB,SAASC,EAAWC,EAAWC,GACpD,GAAIrI,GAAMC,EAAQqI,IAClB,KAAK,GAAIjI,KAAK+H,GAEZpI,EAAOqI,EAAM,EAAIhI,EAAI,GACM4C,SAAvBxF,KAAKsE,QAAQ/B,IACfvC,KAAK6I,2BAA2BtG,GAElCC,EAASxC,KAAKuK,QAAQhI,GAClBC,IACFxC,KAAKsK,kBAAkB/H,EAAMmI,EAAU9H,GAAI+H,EAAU/H,IAChDiI,EAAOrI,KACVqI,EAAOrI,IAAU,EAEjBxC,KAAK8K,aAAatI,GAASmI,EAAU/H,GAAI8H,EAAU9H,GAAIjB,eAK/D2I,kBAAmB,SAAS/H,EAAM9C,EAAOoG,GAEvC,GAAIkF,GAAe/K,KAAKuK,QAAQhI,EAChC,IAAIwI,IAEEC,MAAMC,QAAQpF,KAChBQ,EAAIkE,SAAWtI,QAAQoE,IAAI,mDAAoDrG,KAAK4G,UAAWrE,GAC/FvC,KAAKkL,mBAAmB3I,EAAO,YAG7ByI,MAAMC,QAAQxL,IAAQ,CACxB4G,EAAIkE,SAAWtI,QAAQoE,IAAI,iDAAkDrG,KAAK4G,UAAWrE,EAAM9C,EACnG,IAAI0L,GAAW,GAAIC,eAAc3L,EACjC0L,GAASX,KAAK,SAAS/K,EAAOoG,GAC5B7F,KAAK8K,aAAaC,GAAelF,KAChC7F,MACHA,KAAKqL,sBAAsB9I,EAAO,UAAW4I,KAInDG,aAAc,SAASC,EAAUpC,GAE/B,MAAOH,GAAehJ,KAAMuL,EAAUpC,IAExC2B,aAAc,SAAStI,EAAQkC,GAC7B,GAAItC,GAAKpC,KAAKwC,IAAWA,CACP,mBAAPJ,IACTA,EAAGV,MAAM1B,KAAM0E,IAGnB0F,kBAAmB,SAASoB,GAC1BxL,KAAKyL,WAAWC,KAAKF,IAGvBG,eAAgB,WACd,IAAK,GAAI/I,GAAE,EAAGC,EAAE7C,KAAKyL,WAAW3I,OAAUD,EAAFD,EAAKA,IAC3C5C,KAAK4L,mBAAmB5L,KAAKyL,WAAW7I,GAE1C5C,MAAKyL,eAEPG,mBAAoB,SAASC,GAC3B,IAAK,GAAiC5B,GAA7BrH,EAAE,EAAGC,EAAEgJ,EAAc/I,OAAaD,EAAFD,EAAKA,IAC5CqH,EAAI4B,EAAcjJ,GACdqH,GAAKA,EAAE6B,OACT7B,EAAE6B,SAKRT,sBAAuB,SAAS9I,EAAM4I,GACpC,GAAIY,GAAK/L,KAAKgM,kBAAoBhM,KAAKgM,mBACvCD,GAAGxJ,GAAQ4I,GAEbD,mBAAoB,SAAS3I,GAC3B,GAAIwJ,GAAK/L,KAAKgM,eACd,OAAID,IAAMA,EAAGxJ,IACXwJ,EAAGxJ,GAAMuJ,QACTC,EAAGxJ,GAAQ,MACJ,GAHT,QAMF0J,oBAAqB,WACnB,GAAIjM,KAAKgM,gBAAiB,CAExB,IAAK,GAAwBhE,GAAGiC,EAD5BtD,EAAKzH,OAAOyH,KAAK3G,KAAKgM,iBACjBpJ,EAAE,EAAGC,EAAE8D,EAAK7D,OAAmBD,EAAJD,IAAWoF,EAAErB,EAAK/D,IAAKA,IACzDqH,EAAIjK,KAAKgM,gBAAgBhE,GACzBiC,EAAE6B,OAEJ9L,MAAKgM,sBAwBP5C,EAAiB,yCAIrBtK,GAAMG,IAAIoF,SAASuF,WAAaA,GAE/BhL,SC3JH,SAAUE,GAqBR,QAASoN,GAAoB7G,GAC3B,KAAOA,EAAK8G,YAAY,CACtB,GAAI9G,EAAK+G,mBACP,MAAO/G,EAETA,GAAOA,EAAK8G,WAEd,MAAO9G,GAAKgH,KAxBd,GAAIhG,GAAMxH,OAAOyH,UAAY,EAGzBgG,GAFSxN,EAAMG,IAAIoF,SAASmC,OAEnB,GAAIQ,oBACjBsF,GAAOlF,oBAAsB,SAASC,EAAOC,EAAMjC,GACjD,GAAIkH,GAAOL,EAAoB7G,EAC/B,IAAIkH,EAAM,CACR,GAAInK,GAAKkF,EAAKC,aAAagF,EAC3B,IAAInK,EACF,MAAOA,GAAG9B,KAAKiM,IAoBrB,IAAIC,IACFF,OAAQA,EACRG,iBAAkB,SAASC,GACzB,GAAIC,GAAMD,EAASE,eAAe5M,KAAMA,KAAKsM,OAE7C,OADAtM,MAAKoK,kBAAkBuC,EAAIE,WACpBF,GAETrM,KAAM,SAASiC,EAAM4G,GACnB,GAAIoC,GAAWvL,KAAKuI,qBAAqBhG,EACzC,IAAKgJ,EAIE,CAEL,GAAIJ,GAAWnL,KAAKsL,aAAaC,EAAUpC,EAS3C,OARAnJ,MAAK6I,2BAA2B0C,GAG5B3G,SAASkI,2BACX3B,EAAS7D,KAAO6B,EAAW4D,MAC3B/M,KAAK6M,UAAY7M,KAAK6M,cACtB7M,KAAK6M,UAAUtK,GAAQ4I,GAElBA,EAZP,MAAOnL,MAAKgN,WAAWrL,YAkB3BsL,eAAgB,WACTjN,KAAKkN,WACR7G,EAAI8G,QAAUlL,QAAQoE,IAAI,sBAAuBrG,KAAK4G,WACtD5G,KAAKoN,cAAgBpN,KAAKL,IAAIK,KAAKoN,cAAepN,KAAKqN,UAAW,KAGtEA,UAAW,WACJrN,KAAKkN,WACRlN,KAAK2L,iBACL3L,KAAKiM,sBACLjM,KAAKkN,UAAW,IAGpBI,gBAAiB,WACf,MAAItN,MAAKkN,cACP7G,EAAI8G,QAAUlL,QAAQC,KAAK,gDAAiDlC,KAAK4G,aAGnFP,EAAI8G,QAAUlL,QAAQoE,IAAI,uBAAwBrG,KAAK4G,gBACnD5G,KAAKoN,gBACPpN,KAAKoN,cAAgBpN,KAAKoN,cAActN,YAsB1CyN,EAAkB,gBAItBzO,GAAM2J,YAAc8E,EACpBzO,EAAMG,IAAIoF,SAASmI,IAAMA,GAExB5N,SChHH,SAAUE,GA0MR,QAAS0O,GAAOzJ,GACd,MAAOA,GAAO0J,eAAe,eAK/B,QAASC,MA9MT,GAAIC,IACFD,aAAa,EACb/N,IAAK,SAASA,EAAKC,EAAUC,GAC3B,GAAmB,gBAARF,GAIT,MAAOf,SAAQe,IAAIkB,KAAKb,KAAML,EAAKC,EAAUC,EAH7C,IAAIR,GAAI,MAAQM,CAChBK,MAAKX,GAAKT,QAAQe,IAAIkB,KAAKb,KAAMA,KAAKX,GAAIO,EAAUC,IAKxDmD,QAAOpE,QAAQoE,MAEf4K,QAAS,aAITC,MAAO,aAEPC,gBAAiB,WACX9N,KAAK+N,kBACP9L,QAAQC,KAAK,iBAAmBlC,KAAK4G,UAAY,wGAInD5G,KAAK4N,UACL5N,KAAKgO,kBAGPA,eAAgB,WACdhO,KAAKiO,kBAAmB,EAExBjO,KAAKkO,eAELlO,KAAKyL,cAELzL,KAAK6J,oBAEL7J,KAAK6H,yBAEL7H,KAAKmI,iBAELnI,KAAKyG,mBAELzG,KAAKmO,kBAAkBnO,KAAK0C,WAI5B1C,KAAK+I,gBAAgB,cAErB/I,KAAK6N,SAEPO,iBAAkB,WAChBpO,KAAKsN,kBAEDtN,KAAKqO,UACPrO,KAAKqO,WAGHrO,KAAKsO,aACPtO,KAAKsO,cAMFtO,KAAKuO,kBACRvO,KAAKuO,iBAAkB,EACnBvO,KAAKwO,UACPxO,KAAKyE,MAAM,cAIjBgK,iBAAkB,WACXzO,KAAK0O,gBACR1O,KAAKiN,iBAGHjN,KAAK2O,UACP3O,KAAK2O,WAGH3O,KAAK4O,UACP5O,KAAK4O,YAITC,oBAAqB,WACnB7O,KAAKoO,oBAGPU,iBAAkB,WAChB9O,KAAKyO,oBAGPM,wBAAyB,WACvB/O,KAAKoO,oBAGPY,qBAAsB,WACpBhP,KAAKyO,oBAGPN,kBAAmB,SAAS1L,GACtBA,GAAKA,EAAEwM,UACTjP,KAAKmO,kBAAkB1L,EAAEC,WACzBD,EAAEyM,iBAAiBrO,KAAKb,KAAMyC,EAAEwM,WAIpCC,iBAAkB,SAASC,GACzB,GAAIzC,GAAW1M,KAAKoP,cAAcD,EAClC,IAAIzC,EAAU,CACZ,GAAI2C,GAAOrP,KAAKsP,mBAAmB5C,EACnC1M,MAAKkO,YAAYiB,EAAe5M,MAAQ8M,IAI5CD,cAAe,SAASD,GACtB,MAAOA,GAAeI,cAAc,aAGtCD,mBAAoB,SAAS5C,GAC3B,GAAIA,EAAU,CAEZ,GAAI2C,GAAOrP,KAAKwP,mBAKZ7C,EAAM3M,KAAKyM,iBAAiBC,EAMhC,OAJA2C,GAAKI,YAAY9C,GAEjB3M,KAAK0P,gBAAgBL,EAAM3C,GAEpB2C,IAIXM,kBAAmB,SAASjD,EAAUkD,GACpC,GAAIlD,EAAU,CAKZ1M,KAAKoM,oBAAqB,CAK1B,IAAIO,GAAM3M,KAAKyM,iBAAiBC,EAUhC,OARIkD,GACF5P,KAAK6P,aAAalD,EAAKiD,GAEvB5P,KAAKyP,YAAY9C,GAGnB3M,KAAK0P,gBAAgB1P,MAEd2M,IAGX+C,gBAAiB,SAASL,GAExBrP,KAAK8P,sBAAsBT,GAE3BU,gBAAgB/O,SAASqO,IAG3BS,sBAAuB,SAAST,GAE9B,GAAIW,GAAIhQ,KAAKgQ,EAAIhQ,KAAKgQ,KAEtB,IAAIX,EAEF,IAAK,GAAsBhQ,GADvBsD,EAAK0M,EAAKY,iBAAiB,QACtBrN,EAAE,EAAGC,EAAEF,EAAGG,OAAcD,EAAFD,IAASvD,EAAEsD,EAAGC,IAAKA,IAChDoN,EAAE3Q,EAAE6Q,IAAM7Q,GAIhB8Q,yBAA0B,SAAS5N,GAEpB,UAATA,GAA6B,UAATA,GACtBvC,KAAKsI,oBAAoB/F,EAAMvC,KAAKoQ,aAAa7N,IAE/CvC,KAAKqQ,kBACPrQ,KAAKqQ,iBAAiB3O,MAAM1B,KAAM2B,YAGtC2O,WAAY,SAASjL,EAAMkL,GACzB,GAAIpF,GAAW,GAAIqF,kBAAiB,SAASC,GAC3CF,EAAS1P,KAAKb,KAAMmL,EAAUsF,GAC9BtF,EAASuF,cACTpQ,KAAKN,MACPmL,GAASZ,QAAQlF,GAAOsL,WAAW,EAAMC,SAAS,KAYtDlD,GAAY1O,UAAY2O,EACxBA,EAAKkD,YAAcnD,EAInB5O,EAAMgS,KAAOpD,EACb5O,EAAM0O,OAASA,EACf1O,EAAMG,IAAIoF,SAASsJ,KAAOA,GAEzB/O,SC1NH,SAAUE,GA8ER,QAASqC,GAAenC,GACtB,MAAOA,GAAU0D,UAGnB,QAASqO,GAAYC,EAAS3E,GAC5B,GAAI9J,GAAO,GAAI0O,GAAK,CAChB5E,KACF9J,EAAO8J,EAAKzF,UACZqK,EAAK5E,EAAKpE,aAAa,MAEzB,IAAIiJ,GAAWtM,SAASuM,UAAUC,kBAAkB7O,EAAM0O,EAC1D,OAAOrM,UAASuM,UAAUJ,YAAYC,EAASE,GArFjD,GAIIG,IAJMxS,OAAOyH,aAIW,WACxBgL,EAAyB,aAEzBC,GACFF,sBAAuBA,EAMvBG,wBAAyB,WAEvB,GAAI1S,GAAQkB,KAAKyR,gBACjB,IAAI3S,IAAUkB,KAAK0R,mBAAmB5S,EAAOkB,KAAK4G,WAAY,CAG5D,IADA,GAAItE,GAAQnB,EAAenB,MAAOgR,EAAU,GACrC1O,GAASA,EAAM2M,SACpB+B,GAAW1O,EAAM2M,QAAQ0C,gBAAgBL,GACzChP,EAAQnB,EAAemB,EAErB0O,IACFhR,KAAK4R,oBAAoBZ,EAASlS,KAIxC+S,kBAAmB,SAASC,EAAOvP,EAAMzD,GACvC,GAAIA,GAAQA,GAASkB,KAAKyR,iBAAkBlP,EAAOA,GAAQ,EAC3D,IAAIzD,IAAUkB,KAAK0R,mBAAmB5S,EAAOkB,KAAK4G,UAAYrE,GAAO,CACnE,GAAIyO,GAAU,EACd,IAAIc,YAAiB9G,OACnB,IAAK,GAAyB+G,GAArBnP,EAAE,EAAGC,EAAEiP,EAAMhP,OAAcD,EAAFD,IAASmP,EAAED,EAAMlP,IAAKA,IACtDoO,GAAWe,EAAEC,YAAc,WAG7BhB,GAAUc,EAAME,WAElBhS,MAAK4R,oBAAoBZ,EAASlS,EAAOyD,KAG7CqP,oBAAqB,SAASZ,EAASlS,EAAOyD,GAG5C,GAFAzD,EAAQA,GAASkB,KAAKyR,iBACtBlP,EAAOA,GAAQ,GACVzD,EAAL,CAGID,OAAOoT,oBACTjB,EAAUD,EAAYC,EAASlS,EAAMuN,MAEvC,IAAIyF,GAAQ9R,KAAKiP,QAAQiD,oBAAoBlB,EACzCM,EACJ1S,SAAQuT,kBAAkBL,EAAOhT,GAEjCA,EAAMsT,aAAapS,KAAK4G,UAAYrE,IAAQ,IAE9CkP,eAAgB,SAASpM,GAGvB,IADA,GAAIhG,GAAIgG,GAAQrF,KACTX,EAAE8M,YACP9M,EAAIA,EAAE8M,UAER,OAAO9M,IAETqS,mBAAoB,SAAS5S,EAAOyD,GAElC,MADAzD,GAAMsT,aAAetT,EAAMsT,iBACpBtT,EAAMsT,aAAa7P,IAsB9BzD,GAAMG,IAAIoF,SAASkN,OAASA,GAE3B3S,SChGH,SAAUE,GAUR,QAASmQ,GAAQ1M,EAAMvD,GACrB,GAAyB,IAArB2C,UAAUmB,QAAwC,gBAAjBnB,WAAU,GAAiB,CAC9D3C,EAAYuD,CACZ,IAAI8P,GAASjR,SAASkR,cAGtB,IAFA/P,EAAO8P,GAAUA,EAAOlG,YAAckG,EAAOlG,WAAWiE,aACpDiC,EAAOlG,WAAWiE,aAAa,QAAU,IACxC7N,EACH,KAAM,sCAGV,GAAIgQ,EAAuBhQ,GACzB,KAAM,sDAAwDA,CAGhEiQ,GAAkBjQ,EAAMvD,GAExByT,EAAgBlQ,GAKlB,QAASmQ,GAAoBnQ,EAAMoQ,GACjCC,EAAcrQ,GAAQoQ,EAKxB,QAASF,GAAgBlQ,GACnBqQ,EAAcrQ,KAChBqQ,EAAcrQ,GAAMsQ,0BACbD,GAAcrQ,IAgBzB,QAASiQ,GAAkBjQ,EAAMvD,GAC/B,MAAO8T,GAAiBvQ,GAAQvD,MAGlC,QAASuT,GAAuBhQ,GAC9B,MAAOuQ,GAAiBvQ,GAzD1B,GAAIxD,GAASD,EAAMC,OA+Bf6T,GA9BM9T,EAAMG,QAiDZ6T,IAYJhU,GAAMyT,uBAAyBA,EAC/BzT,EAAM4T,oBAAsBA,EAO5B7T,OAAOD,QAAUqQ,EAKjBlQ,EAAOH,QAASE,EAOhB,IAAIiU,GAAenO,SAASoO,qBAC5B,IAAID,EACF,IAAK,GAAgChQ,GAA5BH,EAAE,EAAGC,EAAEkQ,EAAajQ,OAAcD,EAAFD,IAASG,EAAEgQ,EAAanQ,IAAKA,IACpEqM,EAAQvN,MAAM,KAAMqB,IAIvBnE,SC5FH,SAAUE,GAEV,GAAIwI,IACF2L,oBAAqB,SAAS5N,GAC5BT,SAASsO,YAAYC,WAAW9N,IAElC+N,kBAAmB,WAEjB,GAAIC,GAAYrT,KAAKoQ,aAAa,cAAgB,GAC9Cf,EAAO,GAAIiE,KAAID,EAAWrT,KAAKuT,cAAcC,QACjDxT,MAAKhB,UAAUyU,YAAc,SAASC,EAAS/F,GAC7C,GAAIgG,GAAI,GAAIL,KAAII,EAAS/F,GAAQ0B,EACjC,OAAOsE,GAAEC,OAMf9U,GAAMG,IAAImF,YAAYkD,KAAOA,GAE1B1I,SCrBH,SAAUE,GA2KR,QAAS+U,GAAmBC,EAAOC,GACjC,GAAIH,GAAO,GAAIN,KAAIQ,EAAM1D,aAAa,QAAS2D,GAASH,IACxD,OAAO,YAAeA,EAAO,KAG/B,QAASzB,GAAkBL,EAAOhT,GAChC,GAAIgT,EAAO,CACLhT,IAAUsC,WACZtC,EAAQsC,SAAS4S,MAEfnV,OAAOoT,oBACTnT,EAAQsC,SAAS4S,KAOnB,IAAIC,GAAQC,EAAmBpC,EAAME,aACjCmC,EAAOrC,EAAM1B,aAAaiB,EAC1B8C,IACFF,EAAM/L,aAAamJ,EAAuB8C,EAI5C,IAAIvE,GAAU9Q,EAAMsV,iBACpB,IAAItV,IAAUsC,SAAS4S,KAAM,CAC3B,GAAI9C,GAAW,SAAWG,EAAwB,IAC9CgD,EAAKjT,SAAS4S,KAAK/D,iBAAiBiB,EACpCmD,GAAGvR,SACL8M,EAAUyE,EAAGA,EAAGvR,OAAO,GAAGwR,oBAG9BxV,EAAM+Q,aAAaoE,EAAOrE,IAI9B,QAASsE,GAAmBlD,EAASlS,GACnCA,EAAQA,GAASsC,SACjBtC,EAAQA,EAAMuC,cAAgBvC,EAAQA,EAAMyU,aAC5C,IAAIzB,GAAQhT,EAAMuC,cAAc,QAEhC,OADAyQ,GAAME,YAAchB,EACbc,EAGT,QAASyC,GAAiBT,GACxB,MAAQA,IAASA,EAAMU,YAAe,GAGxC,QAASC,GAAgBpP,EAAMqP,GAC7B,MAAIC,GACKA,EAAQ9T,KAAKwE,EAAMqP,GAD5B,OAzNF,GACIzV,IADMJ,OAAOyH,aACPxH,EAAMG,IAAIoF,SAASkN,QACzBF,EAAwBpS,EAAIoS,sBAI5BuD,EAAiB,QACjBC,EAAuB,UACvBC,EAAiB,uBACjBC,EAAqB,SACrBC,EAAa,gBAEbzD,GAEF0D,WAAY,SAASrV,GACnB,GAAIsV,GAAUlV,KAAKmV,iBACfD,IACFlV,KAAKoV,sBAAsBF,EAE7B,IAAI3D,GAASvR,KAAKqV,mBAAmBH,EACjC3D,GAAOzO,OACT8B,SAAS0Q,cAAcL,WAAW1D,EAAQ3R,GACjCA,GACTA,KAGJwV,sBAAuB,SAAS/F,GAE9B,IAAK,GAAsB0C,GAAGwD,EAD1BlB,EAAKhF,EAAKY,iBAAiB6E,GACtBlS,EAAE,EAAGC,EAAEwR,EAAGvR,OAAiBD,EAAFD,IAASmP,EAAEsC,EAAGzR,IAAKA,IACnD2S,EAAIrB,EAAmBL,EAAmB9B,EAAG/R,KAAKuT,cAAcC,SAC5DxT,KAAKuT,eACTvT,KAAKwV,oBAAoBD,EAAGxD,GAC5BA,EAAE5F,WAAWsJ,aAAaF,EAAGxD,IAGjCyD,oBAAqB,SAAS1D,EAAO4D,GACnC,IAAK,GAA0CrN,GAAtCzF,EAAE,EAAGkF,EAAG4N,EAAK9N,WAAY/E,EAAEiF,EAAGhF,QAAYuF,EAAEP,EAAGlF,KAASC,EAAFD,EAAKA,IACnD,QAAXyF,EAAE9F,MAA6B,SAAX8F,EAAE9F,MACxBuP,EAAM5J,aAAaG,EAAE9F,KAAM8F,EAAE5I,QAInC4V,mBAAoB,SAAShG,GAC3B,GAAIsG,KACJ,IAAItG,EAEF,IAAK,GAAsB0C,GADvBsC,EAAKhF,EAAKY,iBAAiB2E,GACtBhS,EAAE,EAAGC,EAAEwR,EAAGvR,OAAcD,EAAFD,IAASmP,EAAEsC,EAAGzR,IAAKA,IAC5CmP,EAAEC,YAAYtJ,MAAMmM,IACtBc,EAAUjK,KAAKqG,EAIrB,OAAO4D,IAOTC,cAAe,WACb5V,KAAK6V,cACL7V,KAAK8V,cACL9V,KAAK+V,qBACL/V,KAAKgW,uBAKPH,YAAa,WACX7V,KAAKiW,OAASjW,KAAKkW,UAAUpB,GAC7B9U,KAAKiW,OAAO7W,QAAQ,SAAS2S,GACvBA,EAAE5F,YACJ4F,EAAE5F,WAAWgK,YAAYpE,MAI/B+D,YAAa,WACX9V,KAAKuR,OAASvR,KAAKkW,UAAUtB,EAAiB,IAAMI,EAAa,KACjEhV,KAAKuR,OAAOnS,QAAQ,SAAS2S,GACvBA,EAAE5F,YACJ4F,EAAE5F,WAAWgK,YAAYpE,MAa/BgE,mBAAoB,WAClB,GAAIE,GAASjW,KAAKiW,OAAOG,OAAO,SAASrE,GACvC,OAAQA,EAAE9J,aAAa+M,KAErBE,EAAUlV,KAAKmV,iBACnB,IAAID,EAAS,CACX,GAAIlE,GAAU,EAId,IAHAiF,EAAO7W,QAAQ,SAAS0U,GACtB9C,GAAWuD,EAAiBT,GAAS,OAEnC9C,EAAS,CACX,GAAIc,GAAQoC,EAAmBlD,EAAShR,KAAKuT,cAC7C2B,GAAQrF,aAAaiC,EAAOoD,EAAQmB,eAI1CH,UAAW,SAAShF,EAAUoF,GAC5B,GAAIC,GAAQvW,KAAKiQ,iBAAiBiB,GAAUsF,QACxCtB,EAAUlV,KAAKmV,iBACnB,IAAID,EAAS,CACX,GAAIuB,GAAgBvB,EAAQjF,iBAAiBiB,GAAUsF,OACvDD,GAAQA,EAAMG,OAAOD,GAEvB,MAAOH,GAAUC,EAAMH,OAAOE,GAAWC,GAE3CpB,gBAAiB,WACf,GAAIzI,GAAW1M,KAAKuP,cAAc,WAClC,OAAO7C,IAAYyI,gBAAgBzI,IAWrCsJ,oBAAqB,WACnB,GAAIlE,GAAQ9R,KAAK2W,cAAc5B,EAC/B5C,GAAkBL,EAAO1Q,SAAS4S,OAEpCrC,gBAAiB,SAASiF,GACxB,GAAI5F,GAAU,GAEVE,EAAW,IAAM8D,EAAa,IAAM4B,EAAkB,IACtDN,EAAU,SAASvE,GACrB,MAAO0C,GAAgB1C,EAAGb,IAExB+E,EAASjW,KAAKiW,OAAOG,OAAOE,EAChCL,GAAO7W,QAAQ,SAAS0U,GACtB9C,GAAWuD,EAAiBT,GAAS,QAGvC,IAAIvC,GAASvR,KAAKuR,OAAO6E,OAAOE,EAIhC,OAHA/E,GAAOnS,QAAQ,SAAS0S,GACtBd,GAAWc,EAAME,YAAc,SAE1BhB,GAET2F,cAAe,SAASC,GACtB,GAAI5F,GAAUhR,KAAK2R,gBAAgBiF,EACnC,OAAO5W,MAAKkS,oBAAoBlB,EAAS4F,IAE3C1E,oBAAqB,SAASlB,EAAS4F,GACrC,GAAI5F,EAAS,CACX,GAAIc,GAAQoC,EAAmBlD,EAG/B,OAFAc,GAAM5J,aAAamJ,EAAuBrR,KAAKoQ,aAAa,QACxD,IAAMwG,GACH9E,KA2DTrP,EAAI1B,YAAY/B,UAChB2V,EAAUlS,EAAEkS,SAAWlS,EAAEgS,iBAAmBhS,EAAEoU,uBAC3CpU,EAAEqU,kBAIThY,GAAMG,IAAImF,YAAYmN,OAASA,EAC/BzS,EAAMqT,kBAAoBA,GAEzBvT,SCzOH,SAAUE,GAIR,GACIG,IADMJ,OAAOyH,aACPxH,EAAMG,IAAIoF,SAASmC,QACzBD,EAAetH,EAAIsH,aAGnBC,GACFuQ,gBAAiB,WAEf,GAAIC,GAAYhX,KAAKhB,UAAU0H,cAE/B1G,MAAKiX,sBAAsBD,IAE7BC,sBAAuB,SAASD,GAE9B,IAAK,GAAS3O,GAALzF,EAAE,EAAMyF,EAAErI,KAAK4H,WAAWhF,GAAIA,IAEjC5C,KAAKkX,eAAe7O,EAAE9F,QAExByU,EAAUhX,KAAKmX,kBAAkB9O,EAAE9F,OAAS8F,EAAE5I,MAAMwE,QAAQ,KAAM,IAC7DA,QAAQ,KAAM,IAAImT,SAK7BF,eAAgB,SAAU7X,GACxB,MAAOA,IAAe,MAATA,EAAE,IAAyB,MAATA,EAAE,IAAyB,MAATA,EAAE,IAErD8X,kBAAmB,SAAS9X,GAC1B,MAAOA,GAAEgY,MAAMC,KAIfA,EAAe/Q,EAAazD,MAGhChE,GAAMG,IAAImF,YAAYoC,OAASA,GAE9B5H,SC1CH,SAAUE,GAIR,GAAI8K,IACF2N,eAAgB,SAASvY,GAEvB,GAAiCuM,GAA7BhB,EAAUvL,EAAUuL,OACxB,KAAK,GAAIlL,KAAKL,GACQ,YAAhBK,EAAEgY,MAAM,MACL9M,IACHA,EAAYvL,EAAUuL,YAExBgB,EAAWlM,EAAEgY,MAAM,EAAG,IACtB9M,EAAQgB,GAAYhB,EAAQgB,IAAalM,IAI/CmY,iBAAkB,SAASxY,GAEzB,GAAIiL,GAAIjL,EAAUuL,OAClB,IAAIN,EAAG,CACL,GAAIwN,KACJ,KAAK,GAAIpY,KAAK4K,GAEZ,IAAK,GAASyN,GADVC,EAAQtY,EAAEuY,MAAM,KACXhV,EAAE,EAAO8U,EAAGC,EAAM/U,GAAIA,IAC7B6U,EAASC,GAAMzN,EAAE5K,EAGrBL,GAAUuL,QAAUkN,IAGxBI,qBAAsB,SAAS7Y,GAC7B,GAAIA,EAAUuL,QAAS,CAErB,GAAIlC,GAAIrJ,EAAU8K,gBAClB,KAAK,GAAIzK,KAAKL,GAAUuL,QAEtB,IAAK,GAASmN,GADVC,EAAQtY,EAAEuY,MAAM,KACXhV,EAAE,EAAO8U,EAAGC,EAAM/U,GAAIA,IAC7ByF,EAAEqD,KAAKgM,GAIb,GAAI1Y,EAAUsF,QAAS,CAErB,GAAI+D,GAAIrJ,EAAUgL,gBAClB,KAAK,GAAI3K,KAAKL,GAAUsF,QACtB+D,EAAEqD,KAAKrM,KAIbyY,kBAAmB,SAAS9Y,EAAW2O,GAErC,GAAIrJ,GAAUtF,EAAUsF,OACpBA,KAEFtE,KAAK+X,kBAAkBzT,EAAStF,EAAW2O,GAE3C3O,EAAUoJ,WAAapI,KAAKgY,aAAa1T,KAG7CyT,kBAAmB,SAASnO,EAAY5K,EAAW2O,GAEjD,IAAK,GAAItO,KAAKuK,GACSpE,SAAjBxG,EAAUK,IAAgCmG,SAAZmI,EAAKtO,KACrCL,EAAUK,GAAKuK,EAAWvK,KAIhC2Y,aAAc,SAASpO,GACrB,GAAIqO,KACJ,KAAK,GAAI5Y,KAAKuK,GACZqO,EAAI5Y,EAAE6Y,eAAiB7Y,CAEzB,OAAO4Y,IAMXnZ,GAAMG,IAAImF,YAAYwF,WAAaA,GAElChL,SClFH,SAAUE,GAIR,GAAIqZ,GAAuB,aACvBC,EAAmB,OAInBxQ,GACFyQ,yBAA0B,SAASrZ,GAEjCgB,KAAKsY,cAActZ,EAAW,aAE9BgB,KAAKsY,cAActZ,EAAW,wBAEhCuZ,kBAAmB,SAASvZ,EAAW2O,GAErC,GAAI/F,GAAa5H,KAAKoQ,aAAa+H,EACnC,IAAIvQ,EAMF,IAAK,GAAyBvI,GAJ1BiF,EAAUtF,EAAUsF,UAAYtF,EAAUsF,YAE1CqT,EAAQ/P,EAAWgQ,MAAMQ,GAEpBxV,EAAE,EAAGC,EAAE8U,EAAM7U,OAAaD,EAAFD,EAAKA,IAEpCvD,EAAIsY,EAAM/U,GAAGwU,OAET/X,GAAoBmG,SAAflB,EAAQjF,IAAgCmG,SAAZmI,EAAKtO,KACxCiF,EAAQjF,GAAK,OAMrBmZ,6BAA8B,WAK5B,IAAK,GAAsBnQ,GAHvBoQ,EAAWzY,KAAKhB,UAAU+I,oBAE1BD,EAAK9H,KAAK4H,WACLhF,EAAE,EAAGC,EAAEiF,EAAGhF,OAAcD,EAAFD,IAASyF,EAAEP,EAAGlF,IAAKA,IAC5C5C,KAAK0Y,oBAAoBrQ,EAAE9F,QAC7BkW,EAASpQ,EAAE9F,MAAQ8F,EAAE5I,QAI3BiZ,oBAAqB,SAASnW,GAC5B,OAAQvC,KAAK2Y,UAAUpW,IAA6B,QAApBA,EAAK8U,MAAM,EAAE,IAG/CsB,WACEpW,KAAM,EACNqW,UAAW,EACX/H,YAAa,EACbgI,SAAU,EACVC,UAAW,EACXC,gBAAiB,GAKrBnR,GAAW+Q,UAAUR,GAAwB,EAI7CrZ,EAAMG,IAAImF,YAAYwD,WAAaA,GAElChJ,SCpEH,SAAUE,GA+NR,QAASka,GAAyBha,GAChC,IAAKE,OAAOwD,UAAW,CACrB,GAAIuW,GAAW/Z,OAAOiC,eAAenC,EACrCA,GAAU0D,UAAYuW,EAClBzL,EAAOyL,KACTA,EAASvW,UAAYxD,OAAOiC,eAAe8X,KAhOjD,GAAIha,GAAMH,EAAMG,IACZuO,EAAS1O,EAAM0O,OACfzO,EAASD,EAAMC,OAIfC,GAEFgC,SAAU,SAASuB,EAAM2W,GAEvBlZ,KAAKmZ,eAAe5W,EAAM2W,GAE1BlZ,KAAKwS,kBAAkBjQ,EAAM2W,GAE7BlZ,KAAKoZ,sBAGPD,eAAgB,SAAS5W,EAAM2W,GAE7B,GAAIG,GAAYva,EAAMyT,uBAAuBhQ,GAEzCoL,EAAO3N,KAAKsZ,sBAAsBJ,EAEtClZ,MAAKuZ,sBAAsBF,EAAW1L,GAEtC3N,KAAKhB,UAAYgB,KAAKwZ,gBAAgBH,EAAW1L,GAEjD3N,KAAKyZ,qBAAqBlX,EAAM2W,IAGlCK,sBAAuB,SAASva,EAAW2O,GAGzC3O,EAAUiQ,QAAUjP,KAEpBA,KAAKuY,kBAAkBvZ,EAAW2O,GAElC3N,KAAK8X,kBAAkB9Y,EAAW2O,GAElC3N,KAAKuX,eAAevY,GAEpBgB,KAAKwX,iBAAiBxY,IAGxBwa,gBAAiB,SAASxa,EAAW2O,GAEnC3N,KAAK0Z,gBAAgB1a,EAAW2O,EAEhC,IAAIgM,GAAU3Z,KAAK4Z,YAAY5a,EAAW2O,EAG1C,OADAqL,GAAyBW,GAClBA,GAGTD,gBAAiB,SAAS1a,EAAW2O,GAEnC3N,KAAKsY,cAAc,UAAWtZ,EAAW2O,GAEzC3N,KAAKsY,cAAc,UAAWtZ,EAAW2O,GAEzC3N,KAAKsY,cAAc,aAActZ,EAAW2O,GAE5C3N,KAAKsY,cAAc,sBAAuBtZ,EAAW2O,GAErD3N,KAAKsY,cAAc,iBAAkBtZ,EAAW2O,IAIlD8L,qBAAsB,SAASlX,EAAMsX,GAEnC7Z,KAAK6X,qBAAqB7X,KAAKhB,WAE/BgB,KAAK4V,gBAEL5V,KAAKiT,oBAAoBjT,MAEzBA,KAAKwY,+BAELxY,KAAK+W,kBAKL/W,KAAKoT,oBAEDvU,OAAOoT,mBACTrN,SAASuM,UAAU2I,YAAY9Z,KAAKmV,kBAAmB5S,EAAMsX,GAG3D7Z,KAAKhB,UAAU+a,kBACjB/Z,KAAKhB,UAAU+a,iBAAiB/Z,OAMpCoZ,mBAAoB,WAClB,GAAIY,GAASha,KAAKoQ,aAAa,cAC3B4J,KACFnb,OAAOmb,GAAUha,KAAKia,OAK1BX,sBAAuB,SAASY,GAC9B,GAAIlb,GAAYgB,KAAKma,kBAAkBD,EACvC,KAAKlb,EAAW,CAEd,GAAIA,GAAY+B,YAAYG,mBAAmBgZ,EAE/Clb,GAAYgB,KAAKoa,cAAcpb,GAE/Bqb,EAAcH,GAAUlb,EAE1B,MAAOA,IAGTmb,kBAAmB,SAAS5X,GAC1B,MAAO8X,GAAc9X,IAIvB6X,cAAe,SAASpb,GACtB,GAAIA,EAAU0O,YACZ,MAAO1O,EAET,IAAIsb,GAAWpb,OAAOqb,OAAOvb,EAkB7B,OAfAC,GAAIqF,QAAQrF,EAAIoF,SAAUiW,GAa1Bta,KAAKwa,YAAYF,EAAUtb,EAAWC,EAAIoF,SAASmI,IAAK,QAEjD8N,GAGTE,YAAa,SAASF,EAAUtb,EAAWC,EAAKsD,GAC9C,GAAIX,GAAS,SAAS8C,GACpB,MAAO1F,GAAUuD,GAAMb,MAAM1B,KAAM0E,GAErC4V,GAAS/X,GAAQ,WAEf,MADAvC,MAAKgN,WAAapL,EACX3C,EAAIsD,GAAMb,MAAM1B,KAAM2B,aAKjC2W,cAAe,SAAS/V,EAAMvD,EAAW2O,GAEvC,GAAI8M,GAASzb,EAAUuD,MAEvBvD,GAAUuD,GAAQvC,KAAK4Z,YAAYa,EAAQ9M,EAAKpL,KAIlDiQ,kBAAmB,SAASjQ,EAAMsX,GAChC,GAAIa,IACF1b,UAAWgB,KAAKhB,WAGd2b,EAAgB3a,KAAK4a,kBAAkBf,EACvCc,KACFD,EAAK9B,QAAU+B,GAGjB5Z,YAAYC,SAASuB,EAAMvC,KAAKhB,WAEhCgB,KAAKia,KAAO7Y,SAASyZ,gBAAgBtY,EAAMmY,IAG7CE,kBAAmB,SAASrY,GAC1B,GAAIA,GAAQA,EAAKuY,QAAQ,KAAO,EAC9B,MAAOvY,EAEP,IAAIE,GAAIzC,KAAKma,kBAAkB5X,EAC/B,OAAIE,GAAEwM,QACGjP,KAAK4a,kBAAkBnY,EAAEwM,QAAQ2J,SAD1C,SASFyB,IAIFrb,GAAU4a,YADR1a,OAAOwD,UACe,SAASqB,EAAQgX,GAIvC,MAHIhX,IAAUgX,GAAahX,IAAWgX,IACpChX,EAAOrB,UAAYqY,GAEdhX,GAGe,SAASA,EAAQgX,GACvC,GAAIhX,GAAUgX,GAAahX,IAAWgX,EAAW,CAC/C,GAAIpB,GAAUza,OAAOqb,OAAOQ,EAC5BhX,GAAShF,EAAO4a,EAAS5V,GAE3B,MAAOA,IAoBX9E,EAAImF,YAAYpF,UAAYA,GAE3BJ,SC7OH,SAAUE,GA4FR,QAASkc,GAAgB/L,GACvB,MAAO7N,UAAS6Z,SAAShM,GAAWiM,EAAYC,EAGlD,QAASC,KACP,MAAOD,GAAYrY,OAASqY,EAAY,GAAKD,EAAU,GASzD,QAASG,GAAiBzb,GACxB0b,EAAMC,aAAc,EACpBC,eAAe3N,OAAQ,EACvB4N,YAAYC,iBAAiB,WAC3BJ,EAAMK,iBAAiB/b,GACvB0b,EAAMC,aAAc,EACpBD,EAAMM,UA9GV,GAAIN,IAEFzb,KAAM,SAASoP,EAAS2M,EAAO3b,GAM7B,MAL8B,KAA1BD,KAAK8a,QAAQ7L,KACfjP,KAAKiG,IAAIgJ,GACTA,EAAQ4M,QAAUD,EAClB3M,EAAQ6M,KAAO7b,GAEiB,IAA1BD,KAAK8a,QAAQ7L,IAEvBhJ,IAAK,SAASgJ,GAEZ+L,EAAgB/L,GAASvD,KAAKuD,IAEhC6L,QAAS,SAAS7L,GAChB,GAAIrM,GAAIoY,EAAgB/L,GAAS6L,QAAQ7L,EAKzC,OAJIrM,IAAK,GAAKxB,SAAS6Z,SAAShM,KAC9BrM,GAAM6Y,YAAYM,WAAaN,YAAY5N,MACzCsN,EAAYrY,OAAS,KAElBF,GAGT3C,GAAI,SAASgP,GACX,GAAI+M,GAAUhc,KAAKgG,OAAOiJ,EACtB+M,KACFA,EAAQF,KAAKjb,KAAKmb,GAClBA,EAAQH,QAAUG,EAAQF,KAAO,KACjC9b,KAAK4b,UAGT5V,OAAQ,SAASiJ,GACf,GAAIrM,GAAI5C,KAAK8a,QAAQ7L,EACrB,IAAU,IAANrM,EAIJ,MAAOoY,GAAgB/L,GAASgN,SAElCL,MAAO,WAEL,GAAI3M,GAAUjP,KAAKkc,aAInB,OAHIjN,IACFA,EAAQ4M,QAAQhb,KAAKoO,GAEnBjP,KAAKmc,YACPnc,KAAK6N,SACE,GAFT,QAKFqO,YAAa,WACX,MAAOd,MAETe,SAAU,WACR,OAAQnc,KAAKub,aAAevb,KAAKoc,WAEnCA,QAAS,WACP,OAAQjB,EAAYrY,SAAWoY,EAAUpY,QAE3C+K,MAAO,WAWL,GAJI2N,eAAe3N,SAAU,IAC3B2N,eAAea,oBAAoBjb,UACnCoa,eAAe3N,OAAQ,GAErByO,EAEF,IADA,GAAIla,GACGka,EAAexZ,SACpBV,EAAKka,EAAeL,YAK1BN,iBAAkB,SAAS/b,GACrBA,GACF0c,EAAe5Q,KAAK9L,IAGxB2b,aAAa,GAGXJ,KACAD,KACAoB,IAYJlb,UAASmb,iBAAiB,qBAAsB,WAC9Cf,eAAe3N,OAAQ,IAczB/O,EAAMwc,MAAQA,EACdxc,EAAMuc,iBAAmBA,GACxBzc,SCvHH,SAAUE,GAIR,QAAS0d,GAAeC,EAAmB7c,GACrC6c,GACFrb,SAAS4S,KAAKvE,YAAYgN,GAC1BpB,EAAiBzb,IACRA,GACTA,IAIJ,QAAS8c,GAAWC,EAAM/c,GACxB,GAAI+c,GAAQA,EAAK7Z,OAAQ,CAErB,IAAK,GAAwB8Z,GAAKlH,EAD9BmH,EAAOzb,SAAS0b,yBACXla,EAAE,EAAGC,EAAE8Z,EAAK7Z,OAAsBD,EAAFD,IAASga,EAAID,EAAK/Z,IAAKA,IAC9D8S,EAAOtU,SAASC,cAAc,QAC9BqU,EAAKqH,IAAM,SACXrH,EAAK9B,KAAOgJ,EACZC,EAAKpN,YAAYiG,EAEnB8G,GAAeK,EAAMjd,OACdA,IACTA,IAtBJ,GAAIyb,GAAmBvc,EAAMuc,gBA2B7Bvc,GAAMke,OAASN,EACf5d,EAAM0d,eAAiBA,GAEtB5d,SChCH,SAAUE,GAuHR,QAASme,GAAa1a,GACpB,MAAO2a,SAAQnc,YAAYG,mBAAmBqB,IAGhD,QAAS4a,GAAY5a,GACnB,MAAQA,IAAQA,EAAKuY,QAAQ,MAAQ,EAxHvC,GAAI/b,GAASD,EAAMC,OACfE,EAAMH,EAAMG,IACZqc,EAAQxc,EAAMwc,MACdD,EAAmBvc,EAAMuc,iBACzB9I,EAAyBzT,EAAMyT,uBAC/BG,EAAsB5T,EAAM4T,oBAI5B1T,EAAYD,EAAOG,OAAOqb,OAAOxZ,YAAY/B,YAE/C8O,gBAAiB,WACX9N,KAAKoQ,aAAa,SACpBpQ,KAAKod,QAITA,KAAM,WAEJpd,KAAKuC,KAAOvC,KAAKoQ,aAAa,QAC9BpQ,KAAK4Y,QAAU5Y,KAAKoQ,aAAa,WAEjCpQ,KAAKqd,gBAELrd,KAAK6S,qBAGPA,kBAAmB,WACd7S,KAAKsd,YACJtd,KAAK0S,oBAAoB1S,KAAKuC,OAC9BvC,KAAKud,mBACLvd,KAAKwd,uBAKTlC,EAAMrb,GAAGD,OAKXyd,UAAW,WAILN,EAAYnd,KAAK4Y,WAAaqE,EAAajd,KAAK4Y,UAClD3W,QAAQC,KAAK,sGACuClC,KAAKuC,KACrDvC,KAAK4Y,SAEX5Y,KAAKgB,SAAShB,KAAKuC,KAAMvC,KAAK4Y,SAC9B5Y,KAAKsd,YAAa,GAIpB5K,oBAAqB,SAASnQ,GAC5B,MAAKgQ,GAAuBhQ,GAA5B,QAEEmQ,EAAoBnQ,EAAMvC,MAE1BA,KAAK0d,eAAenb,IAEb,IAIXmb,eAAgB,SAASnb,GAEvB,GAAIvC,KAAKiI,aAAa,cAAgBjI,KAAK6Y,SAQzC,GAPA7Y,KAAK6Y,UAAW,EAOZha,OAAO2c,iBAAmBA,eAAeO,UAC3Cnd,QAAQ2D,OACH,CACL,GAAI8P,GAASjR,SAASC,cAAc,SACpCgR,GAAOL,YAAc,YAAezP,EAAO,MAC3CvC,KAAKyP,YAAY4C,KAKvBmL,oBAAqB,WACnB,MAAOxd,MAAK2d,iBAMdJ,gBAAiB,WACf,MAAOjC,GAAMzb,KAAKG,KAAMA,KAAK6S,kBAAmB7S,KAAKyd,YAGvDJ,cAAe,WACbrd,KAAK2d,iBAAkB,EACvB3d,KAAKiV,WAAW,WACdjV,KAAK2d,iBAAkB,EACvB3d,KAAK6S,qBACLvS,KAAKN,SASXf,GAAIqF,QAAQrF,EAAImF,YAAapF,GAc7BF,EAAMyT,uBAAyBA,EAI/B8I,EAAiB,WACfja,SAASwc,KAAK7U,gBAAgB,cAC9B3H,SAASqE,cACP,GAAIF,aAAY,iBAAkBJ,SAAS,OAM/C/D,SAASyZ,gBAAgB,mBAAoB7b,UAAWA,KAEvDJ","sourcesContent":["/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\nPolymer = {};\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n// TODO(sorvell): this ensures Polymer is an object and not a function\n// Platform is currently defining it as a function to allow for async loading\n// of polymer; once we refine the loading process this likely goes away.\nif (typeof window.Polymer === 'function') {\n Polymer = {};\n}\n\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // copy own properties from 'api' to 'prototype, with name hinting for 'super'\n function extend(prototype, api) {\n if (prototype && api) {\n // use only own properties of 'api'\n Object.getOwnPropertyNames(api).forEach(function(n) {\n // acquire property descriptor\n var pd = Object.getOwnPropertyDescriptor(api, n);\n if (pd) {\n // clone property via descriptor\n Object.defineProperty(prototype, n, pd);\n // cache name-of-method for 'super' engine\n if (typeof pd.value == 'function') {\n // hint the 'super' engine\n pd.value.nom = n;\n }\n }\n });\n }\n return prototype;\n }\n \n // exports\n\n scope.extend = extend;\n\n})(Polymer);\n","/* \n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n \n // usage\n \n // invoke cb.call(this) in 100ms, unless the job is re-registered,\n // which resets the timer\n // \n // this.myJob = this.job(this.myJob, cb, 100)\n //\n // returns a job handle which can be used to re-register a job\n\n var Job = function(inContext) {\n this.context = inContext;\n this.boundComplete = this.complete.bind(this)\n };\n Job.prototype = {\n go: function(callback, wait) {\n this.callback = callback;\n var h;\n if (!wait) {\n h = requestAnimationFrame(this.boundComplete);\n this.handle = function() {\n cancelAnimationFrame(h);\n }\n } else {\n h = setTimeout(this.boundComplete, wait);\n this.handle = function() {\n clearTimeout(h);\n }\n }\n },\n stop: function() {\n if (this.handle) {\n this.handle();\n this.handle = null;\n }\n },\n complete: function() {\n if (this.handle) {\n this.stop();\n this.callback.call(this.context);\n }\n }\n };\n \n function job(job, callback, wait) {\n if (job) {\n job.stop();\n } else {\n job = new Job(this);\n }\n job.go(callback, wait);\n return job;\n }\n \n // exports \n\n scope.job = job;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var registry = {};\n\n HTMLElement.register = function(tag, prototype) {\n registry[tag] = prototype;\n }\n\n // get prototype mapped to node <tag>\n HTMLElement.getPrototypeForTag = function(tag) {\n var prototype = !tag ? HTMLElement.prototype : registry[tag];\n // TODO(sjmiles): creating <tag> is likely to have wasteful side-effects\n return prototype || Object.getPrototypeOf(document.createElement(tag));\n };\n\n // we have to flag propagation stoppage for the event dispatcher\n var originalStopPropagation = Event.prototype.stopPropagation;\n Event.prototype.stopPropagation = function() {\n this.cancelBubble = true;\n originalStopPropagation.apply(this, arguments);\n };\n \n // TODO(sorvell): remove when we're sure imports does not need\n // to load stylesheets\n /*\n HTMLImports.importer.preloadSelectors += \n ', polymer-element link[rel=stylesheet]';\n */\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n (function(scope) {\n // super\n\n // `arrayOfArgs` is an optional array of args like one might pass\n // to `Function.apply`\n\n // TODO(sjmiles):\n // $super must be installed on an instance or prototype chain\n // as `super`, and invoked via `this`, e.g.\n // `this.super();`\n\n // will not work if function objects are not unique, for example,\n // when using mixins.\n // The memoization strategy assumes each function exists on only one \n // prototype chain i.e. we use the function object for memoizing)\n // perhaps we can bookkeep on the prototype itself instead\n function $super(arrayOfArgs) {\n // since we are thunking a method call, performance is important here: \n // memoize all lookups, once memoized the fast path calls no other \n // functions\n //\n // find the caller (cannot be `strict` because of 'caller')\n var caller = $super.caller;\n // memoized 'name of method' \n var nom = caller.nom;\n // memoized next implementation prototype\n var _super = caller._super;\n if (!_super) {\n if (!nom) {\n nom = caller.nom = nameInThis.call(this, caller);\n }\n if (!nom) {\n console.warn('called super() on a method not installed declaratively (has no .nom property)');\n }\n // super prototype is either cached or we have to find it\n // by searching __proto__ (at the 'top')\n _super = memoizeSuper(caller, nom, getPrototypeOf(this));\n }\n if (!_super) {\n // if _super is falsey, there is no super implementation\n //console.warn('called $super(' + nom + ') where there is no super implementation');\n } else {\n // our super function\n var fn = _super[nom];\n // memoize information so 'fn' can call 'super'\n if (!fn._super) {\n memoizeSuper(fn, nom, _super);\n }\n // invoke the inherited method\n // if 'fn' is not function valued, this will throw\n return fn.apply(this, arrayOfArgs || []);\n }\n }\n\n function nextSuper(proto, name, caller) {\n // look for an inherited prototype that implements name\n while (proto) {\n if ((proto[name] !== caller) && proto[name]) {\n return proto;\n }\n proto = getPrototypeOf(proto);\n }\n }\n\n function memoizeSuper(method, name, proto) {\n // find and cache next prototype containing `name`\n // we need the prototype so we can do another lookup\n // from here\n method._super = nextSuper(proto, name, method);\n if (method._super) {\n // _super is a prototype, the actual method is _super[name]\n // tag super method with it's name for further lookups\n method._super[name].nom = name;\n }\n return method._super;\n }\n\n function nameInThis(value) {\n var p = this.__proto__;\n while (p && p !== HTMLElement.prototype) {\n // TODO(sjmiles): getOwnPropertyNames is absurdly expensive\n var n$ = Object.getOwnPropertyNames(p);\n for (var i=0, l=n$.length, n; i<l && (n=n$[i]); i++) {\n var d = Object.getOwnPropertyDescriptor(p, n);\n if (typeof d.value === 'function' && d.value === value) {\n return n;\n }\n }\n p = p.__proto__;\n }\n }\n\n // NOTE: In some platforms (IE10) the prototype chain is faked via \n // __proto__. Therefore, always get prototype via __proto__ instead of\n // the more standard Object.getPrototypeOf.\n function getPrototypeOf(prototype) {\n return prototype.__proto__;\n }\n\n // utility function to precompute name tags for functions\n // in a (unchained) prototype\n function hintSuper(prototype) {\n // tag functions with their prototype name to optimize\n // super call invocations\n for (var n in prototype) {\n var pd = Object.getOwnPropertyDescriptor(prototype, n);\n if (pd && typeof pd.value === 'function') {\n pd.value.nom = n;\n }\n }\n }\n\n // exports\n\n scope.super = $super;\n\n})(Polymer);\n","/* \n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\n var typeHandlers = {\n string: function(value) {\n return value;\n },\n date: function(value) {\n return new Date(Date.parse(value) || Date.now());\n },\n boolean: function(value) {\n if (value === '') {\n return true;\n }\n return value === 'false' ? false : !!value;\n },\n number: function(value) {\n var n = parseFloat(value);\n // hex values like \"0xFFFF\" parseFloat as 0\n if (n === 0) {\n n = parseInt(value);\n }\n return isNaN(n) ? value : n;\n // this code disabled because encoded values (like \"0xFFFF\")\n // do not round trip to their original format\n //return (String(floatVal) === value) ? floatVal : value;\n },\n object: function(value, currentValue) {\n if (currentValue === null) {\n return value;\n }\n try {\n // If the string is an object, we can parse is with the JSON library.\n // include convenience replace for single-quotes. If the author omits\n // quotes altogether, parse will fail.\n return JSON.parse(value.replace(/'/g, '\"'));\n } catch(e) {\n // The object isn't valid JSON, return the raw value\n return value;\n }\n },\n // avoid deserialization of functions\n 'function': function(value, currentValue) {\n return currentValue;\n }\n };\n\n function deserializeValue(value, currentValue) {\n // attempt to infer type from default value\n var inferredType = typeof currentValue;\n // invent 'date' type value for Date\n if (currentValue instanceof Date) {\n inferredType = 'date';\n }\n // delegate deserialization via type string\n return typeHandlers[inferredType](value, currentValue);\n }\n\n // exports\n\n scope.deserializeValue = deserializeValue;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var extend = scope.extend;\n\n // module\n\n var api = {};\n\n api.declaration = {};\n api.instance = {};\n\n api.publish = function(apis, prototype) {\n for (var n in apis) {\n extend(prototype, apis[n]);\n }\n }\n\n // exports\n\n scope.api = api;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var utils = {\n /**\n * Invokes a function asynchronously. The context of the callback\n * function is bound to 'this' automatically.\n * @method async\n * @param {Function|String} method\n * @param {any|Array} args\n * @param {number} timeout\n */\n async: function(method, args, timeout) {\n // when polyfilling Object.observe, ensure changes \n // propagate before executing the async method\n Platform.flush();\n // second argument to `apply` must be an array\n args = (args && args.length) ? args : [args];\n // function to invoke\n var fn = function() {\n (this[method] || method).apply(this, args);\n }.bind(this);\n // execute `fn` sooner or later\n var handle = timeout ? setTimeout(fn, timeout) :\n requestAnimationFrame(fn);\n // NOTE: switch on inverting handle to determine which time is used.\n return timeout ? handle : ~handle;\n },\n cancelAsync: function(handle) {\n if (handle < 0) {\n cancelAnimationFrame(~handle);\n } else {\n clearTimeout(handle);\n }\n },\n /**\n * Fire an event.\n * @method fire\n * @returns {Object} event\n * @param {string} type An event name.\n * @param {any} detail\n * @param {Node} onNode Target node.\n */\n fire: function(type, detail, onNode, bubbles, cancelable) {\n var node = onNode || this;\n var detail = detail || {};\n var event = new CustomEvent(type, {\n bubbles: (bubbles !== undefined ? bubbles : true), \n cancelable: (cancelable !== undefined ? cancelable : true), \n detail: detail\n });\n node.dispatchEvent(event);\n return event;\n },\n /**\n * Fire an event asynchronously.\n * @method asyncFire\n * @param {string} type An event name.\n * @param detail\n * @param {Node} toNode Target node.\n */\n asyncFire: function(/*inType, inDetail*/) {\n this.async(\"fire\", arguments);\n },\n /**\n * Remove class from old, add class to anew, if they exist\n * @param classFollows\n * @param anew A node.\n * @param old A node\n * @param className\n */\n classFollows: function(anew, old, className) {\n if (old) {\n old.classList.remove(className);\n }\n if (anew) {\n anew.classList.add(className);\n }\n }\n };\n\n // no-operation function for handy stubs\n var nop = function() {};\n\n // null-object for handy stubs\n var nob = {};\n\n // deprecated\n\n utils.asyncMethod = utils.async;\n\n // exports\n\n scope.api.instance.utils = utils;\n scope.nop = nop;\n scope.nob = nob;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n var EVENT_PREFIX = 'on-';\n\n // instance events api\n var events = {\n // read-only\n EVENT_PREFIX: EVENT_PREFIX,\n // event listeners on host\n addHostListeners: function() {\n var events = this.eventDelegates;\n log.events && (Object.keys(events).length > 0) && console.log('[%s] addHostListeners:', this.localName, events);\n // NOTE: host events look like bindings but really are not;\n // (1) we don't want the attribute to be set and (2) we want to support\n // multiple event listeners ('host' and 'instance') and Node.bind\n // by default supports 1 thing being bound.\n // We do, however, leverage the event hookup code in PolymerExpressions\n // so that we have a common code path for handling declarative events.\n var self = this, bindable, eventName;\n for (var n in events) {\n eventName = EVENT_PREFIX + n;\n bindable = PolymerExpressions.prepareEventBinding(\n Path.get(events[n]),\n eventName, \n {\n resolveEventHandler: function(model, path, node) {\n var fn = path.getValueFrom(self);\n if (fn) {\n return fn.bind(self);\n }\n }\n }\n );\n bindable(this, this, false);\n }\n },\n // call 'method' or function method on 'obj' with 'args', if the method exists\n dispatchMethod: function(obj, method, args) {\n if (obj) {\n log.events && console.group('[%s] dispatch [%s]', obj.localName, method);\n var fn = typeof method === 'function' ? method : obj[method];\n if (fn) {\n fn[args ? 'apply' : 'call'](obj, args);\n }\n log.events && console.groupEnd();\n Platform.flush();\n }\n }\n };\n\n // exports\n\n scope.api.instance.events = events;\n\n})(Polymer);\n","/*\r\n * Copyright 2013 The Polymer Authors. All rights reserved.\r\n * Use of this source code is governed by a BSD-style\r\n * license that can be found in the LICENSE file.\r\n */\r\n(function(scope) {\r\n\r\n // instance api for attributes\r\n\r\n var attributes = {\r\n copyInstanceAttributes: function () {\r\n var a$ = this._instanceAttributes;\r\n for (var k in a$) {\r\n if (!this.hasAttribute(k)) {\r\n this.setAttribute(k, a$[k]);\r\n }\r\n }\r\n },\r\n // for each attribute on this, deserialize value to property as needed\r\n takeAttributes: function() {\r\n // if we have no publish lookup table, we have no attributes to take\r\n // TODO(sjmiles): ad hoc\r\n if (this._publishLC) {\r\n for (var i=0, a$=this.attributes, l=a$.length, a; (a=a$[i]) && i<l; i++) {\r\n this.attributeToProperty(a.name, a.value);\r\n }\r\n }\r\n },\r\n // if attribute 'name' is mapped to a property, deserialize\r\n // 'value' into that property\r\n attributeToProperty: function(name, value) {\r\n // try to match this attribute to a property (attributes are\r\n // all lower-case, so this is case-insensitive search)\r\n var name = this.propertyForAttribute(name);\r\n if (name) {\r\n // filter out 'mustached' values, these are to be\r\n // replaced with bound-data and are not yet values\r\n // themselves\r\n if (value && value.search(scope.bindPattern) >= 0) {\r\n return;\r\n }\r\n // get original value\r\n var currentValue = this[name];\r\n // deserialize Boolean or Number values from attribute\r\n var value = this.deserializeValue(value, currentValue);\r\n // only act if the value has changed\r\n if (value !== currentValue) {\r\n // install new value (has side-effects)\r\n this[name] = value;\r\n }\r\n }\r\n },\r\n // return the published property matching name, or undefined\r\n propertyForAttribute: function(name) {\r\n var match = this._publishLC && this._publishLC[name];\r\n //console.log('propertyForAttribute:', name, 'matches', match);\r\n return match;\r\n },\r\n // convert representation of 'stringValue' based on type of 'currentValue'\r\n deserializeValue: function(stringValue, currentValue) {\r\n return scope.deserializeValue(stringValue, currentValue);\r\n },\r\n serializeValue: function(value, inferredType) {\r\n if (inferredType === 'boolean') {\r\n return value ? '' : undefined;\r\n } else if (inferredType !== 'object' && inferredType !== 'function'\r\n && value !== undefined) {\r\n return value;\r\n }\r\n },\r\n reflectPropertyToAttribute: function(name) {\r\n var inferredType = typeof this[name];\r\n // try to intelligently serialize property value\r\n var serializedValue = this.serializeValue(this[name], inferredType);\r\n // boolean properties must reflect as boolean attributes\r\n if (serializedValue !== undefined) {\r\n this.setAttribute(name, serializedValue);\r\n // TODO(sorvell): we should remove attr for all properties\r\n // that have undefined serialization; however, we will need to\r\n // refine the attr reflection system to achieve this; pica, for example,\r\n // relies on having inferredType object properties not removed as\r\n // attrs.\r\n } else if (inferredType === 'boolean') {\r\n this.removeAttribute(name);\r\n }\r\n }\r\n };\r\n\r\n // exports\r\n\r\n scope.api.instance.attributes = attributes;\r\n\r\n})(Polymer);\r\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n\n // magic words\n\n var OBSERVE_SUFFIX = 'Changed';\n\n // element api\n\n var empty = [];\n\n var properties = {\n observeProperties: function() {\n var n$ = this._observeNames, pn$ = this._publishNames;\n if ((n$ && n$.length) || (pn$ && pn$.length)) {\n var self = this;\n var o = this._propertyObserver = new CompoundObserver();\n // keep track of property observer so we can shut it down\n this.registerObservers([o]);\n for (var i=0, l=n$.length, n; (i<l) && (n=n$[i]); i++) {\n o.addPath(this, n);\n // observer array properties\n var pd = Object.getOwnPropertyDescriptor(this.__proto__, n);\n if (pd && pd.value) {\n this.observeArrayValue(n, pd.value, null);\n }\n }\n for (var i=0, l=pn$.length, n; (i<l) && (n=pn$[i]); i++) {\n if (!this.observe || (this.observe[n] === undefined)) {\n o.addPath(this, n);\n }\n }\n o.open(this.notifyPropertyChanges, this);\n }\n },\n notifyPropertyChanges: function(newValues, oldValues, paths) {\n var name, method, called = {};\n for (var i in oldValues) {\n // note: paths is of form [object, path, object, path]\n name = paths[2 * i + 1];\n if (this.publish[name] !== undefined) {\n this.reflectPropertyToAttribute(name);\n }\n method = this.observe[name];\n if (method) {\n this.observeArrayValue(name, newValues[i], oldValues[i]);\n if (!called[method]) {\n called[method] = true;\n // observes the value if it is an array\n this.invokeMethod(method, [oldValues[i], newValues[i], arguments]);\n }\n }\n }\n },\n observeArrayValue: function(name, value, old) {\n // we only care if there are registered side-effects\n var callbackName = this.observe[name];\n if (callbackName) {\n // if we are observing the previous value, stop\n if (Array.isArray(old)) {\n log.observe && console.log('[%s] observeArrayValue: unregister observer [%s]', this.localName, name);\n this.closeNamedObserver(name + '__array');\n }\n // if the new value is an array, being observing it\n if (Array.isArray(value)) {\n log.observe && console.log('[%s] observeArrayValue: register observer [%s]', this.localName, name, value);\n var observer = new ArrayObserver(value);\n observer.open(function(value, old) {\n this.invokeMethod(callbackName, [old]);\n }, this);\n this.registerNamedObserver(name + '__array', observer);\n }\n }\n },\n bindProperty: function(property, observable) {\n // apply Polymer two-way reference binding\n return bindProperties(this, property, observable);\n },\n invokeMethod: function(method, args) {\n var fn = this[method] || method;\n if (typeof fn === 'function') {\n fn.apply(this, args);\n }\n },\n registerObservers: function(observers) {\n this._observers.push(observers);\n },\n // observer array items are arrays of observers.\n closeObservers: function() {\n for (var i=0, l=this._observers.length; i<l; i++) {\n this.closeObserverArray(this._observers[i]);\n }\n this._observers = [];\n },\n closeObserverArray: function(observerArray) {\n for (var i=0, l=observerArray.length, o; i<l; i++) {\n o = observerArray[i];\n if (o && o.close) {\n o.close();\n }\n }\n },\n // bookkeeping observers for memory management\n registerNamedObserver: function(name, observer) {\n var o$ = this._namedObservers || (this._namedObservers = {});\n o$[name] = observer;\n },\n closeNamedObserver: function(name) {\n var o$ = this._namedObservers;\n if (o$ && o$[name]) {\n o$[name].close();\n o$[name] = null;\n return true;\n }\n },\n closeNamedObservers: function() {\n if (this._namedObservers) {\n var keys=Object.keys(this._namedObservers);\n for (var i=0, l=keys.length, k, o; (i < l) && (k=keys[i]); i++) {\n o = this._namedObservers[k];\n o.close();\n }\n this._namedObservers = {};\n }\n }\n };\n\n // property binding\n // bind a property in A to a path in B by converting A[property] to a\n // getter/setter pair that accesses B[...path...]\n function bindProperties(inA, inProperty, observable) {\n log.bind && console.log(LOG_BIND_PROPS, inB.localName || 'object', inPath, inA.localName, inProperty);\n // capture A's value if B's value is null or undefined,\n // otherwise use B's value\n // TODO(sorvell): need to review, can do with ObserverTransform\n var v = observable.discardChanges();\n if (v === null || v === undefined) {\n observable.setValue(inA[inProperty]);\n }\n return Observer.defineComputedProperty(inA, inProperty, observable);\n }\n\n // logging\n var LOG_OBSERVE = '[%s] watching [%s]';\n var LOG_OBSERVED = '[%s#%s] watch: [%s] now [%s] was [%s]';\n var LOG_CHANGED = '[%s#%s] propertyChanged: [%s] now [%s] was [%s]';\n var LOG_BIND_PROPS = \"[%s]: bindProperties: [%s] to [%s].[%s]\";\n\n // exports\n\n scope.api.instance.properties = properties;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || 0;\n var events = scope.api.instance.events;\n\n var syntax = new PolymerExpressions();\n syntax.resolveEventHandler = function(model, path, node) {\n var ctlr = findEventController(node);\n if (ctlr) {\n var fn = path.getValueFrom(ctlr);\n if (fn) {\n return fn.bind(ctlr);\n }\n }\n }\n\n // An event controller is the host element for the shadowRoot in which \n // the node exists, or the first ancestor with a 'lightDomController'\n // property.\n function findEventController(node) {\n while (node.parentNode) {\n if (node.lightDomController) {\n return node;\n }\n node = node.parentNode;\n }\n return node.host;\n };\n\n // element api supporting mdv\n\n var mdv = {\n syntax: syntax,\n instanceTemplate: function(template) {\n var dom = template.createInstance(this, this.syntax);\n this.registerObservers(dom.bindings_);\n return dom;\n },\n bind: function(name, observable, oneTime) {\n var property = this.propertyForAttribute(name);\n if (!property) {\n // TODO(sjmiles): this mixin method must use the special form\n // of `super` installed by `mixinMethod` in declaration/prototype.js\n return this.mixinSuper(arguments);\n } else {\n // use n-way Polymer binding\n var observer = this.bindProperty(property, observable);\n this.reflectPropertyToAttribute(property);\n // NOTE: reflecting binding information is typically required only for\n // tooling. It has a performance cost so it's opt-in in Node.bind.\n if (Platform.enableBindingsReflection) {\n observer.path = observable.path_;\n this.bindings_ = this.bindings_ || {};\n this.bindings_[name] = observer;\n }\n return observer;\n }\n },\n // TODO(sorvell): unbind/unbindAll has been removed, as public api, from\n // TemplateBinding. We still need to close/dispose of observers but perhaps\n // we should choose a more explicit name.\n asyncUnbindAll: function() {\n if (!this._unbound) {\n log.unbind && console.log('[%s] asyncUnbindAll', this.localName);\n this._unbindAllJob = this.job(this._unbindAllJob, this.unbindAll, 0);\n }\n },\n unbindAll: function() {\n if (!this._unbound) {\n this.closeObservers();\n this.closeNamedObservers();\n this._unbound = true;\n }\n },\n cancelUnbindAll: function() {\n if (this._unbound) {\n log.unbind && console.warn('[%s] already unbound, cannot cancel unbindAll', this.localName);\n return;\n }\n log.unbind && console.log('[%s] cancelUnbindAll', this.localName);\n if (this._unbindAllJob) {\n this._unbindAllJob = this._unbindAllJob.stop();\n }\n }\n };\n\n function unbindNodeTree(node) {\n forNodeTree(node, _nodeUnbindAll);\n }\n\n function _nodeUnbindAll(node) {\n node.unbindAll();\n }\n\n function forNodeTree(node, callback) {\n if (node) {\n callback(node);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n forNodeTree(child, callback);\n }\n }\n }\n\n var mustachePattern = /\\{\\{([^{}]*)}}/;\n\n // exports\n\n scope.bindPattern = mustachePattern;\n scope.api.instance.mdv = mdv;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var base = {\n PolymerBase: true,\n job: function(job, callback, wait) {\n if (typeof job === 'string') {\n var n = '___' + job;\n this[n] = Polymer.job.call(this, this[n], callback, wait);\n } else {\n return Polymer.job.call(this, job, callback, wait);\n }\n },\n super: Polymer.super,\n // user entry point for element has had its createdCallback called\n created: function() {\n },\n // user entry point for element has shadowRoot and is ready for\n // api interaction\n ready: function() {\n },\n createdCallback: function() {\n if (this.templateInstance) {\n console.warn('Attributes on ' + this.localName + ' were data bound ' +\n 'prior to Polymer upgrading the element. This may result in ' +\n 'incorrect binding types.');\n }\n this.created();\n this.prepareElement();\n },\n // system entry point, do not override\n prepareElement: function() {\n this._elementPrepared = true;\n // install shadowRoots storage\n this.shadowRoots = {};\n // storage for closeable observers.\n this._observers = [];\n // install property observers\n this.observeProperties();\n // install boilerplate attributes\n this.copyInstanceAttributes();\n // process input attributes\n this.takeAttributes();\n // add event listeners\n this.addHostListeners();\n // process declarative resources\n this.parseDeclarations(this.__proto__);\n // TODO(sorvell): CE polyfill uses unresolved attribute to simulate\n // :unresolved; remove this attribute to be compatible with native\n // CE.\n this.removeAttribute('unresolved');\n // user entry point\n this.ready();\n },\n attachedCallback: function() {\n this.cancelUnbindAll();\n // invoke user action\n if (this.attached) {\n this.attached();\n }\n // TODO(sorvell): bc\n if (this.enteredView) {\n this.enteredView();\n }\n // NOTE: domReady can be used to access elements in dom (descendants, \n // ancestors, siblings) such that the developer is enured to upgrade\n // ordering. If the element definitions have loaded, domReady\n // can be used to access upgraded elements.\n if (!this.hasBeenAttached) {\n this.hasBeenAttached = true;\n if (this.domReady) {\n this.async('domReady');\n }\n }\n },\n detachedCallback: function() {\n if (!this.preventDispose) {\n this.asyncUnbindAll();\n }\n // invoke user action\n if (this.detached) {\n this.detached();\n }\n // TODO(sorvell): bc\n if (this.leftView) {\n this.leftView();\n }\n },\n // TODO(sorvell): bc\n enteredViewCallback: function() {\n this.attachedCallback();\n },\n // TODO(sorvell): bc\n leftViewCallback: function() {\n this.detachedCallback();\n },\n // TODO(sorvell): bc\n enteredDocumentCallback: function() {\n this.attachedCallback();\n },\n // TODO(sorvell): bc\n leftDocumentCallback: function() {\n this.detachedCallback();\n },\n // recursive ancestral <element> initialization, oldest first\n parseDeclarations: function(p) {\n if (p && p.element) {\n this.parseDeclarations(p.__proto__);\n p.parseDeclaration.call(this, p.element);\n }\n },\n // parse input <element> as needed, override for custom behavior\n parseDeclaration: function(elementElement) {\n var template = this.fetchTemplate(elementElement);\n if (template) {\n var root = this.shadowFromTemplate(template);\n this.shadowRoots[elementElement.name] = root;\n }\n },\n // return a shadow-root template (if desired), override for custom behavior\n fetchTemplate: function(elementElement) {\n return elementElement.querySelector('template');\n },\n // utility function that creates a shadow root from a <template>\n shadowFromTemplate: function(template) {\n if (template) {\n // make a shadow root\n var root = this.createShadowRoot();\n // stamp template\n // which includes parsing and applying MDV bindings before being \n // inserted (to avoid {{}} in attribute values)\n // e.g. to prevent <img src=\"images/{{icon}}\"> from generating a 404.\n var dom = this.instanceTemplate(template);\n // append to shadow dom\n root.appendChild(dom);\n // perform post-construction initialization tasks on shadow root\n this.shadowRootReady(root, template);\n // return the created shadow root\n return root;\n }\n },\n // utility function that stamps a <template> into light-dom\n lightFromTemplate: function(template, refNode) {\n if (template) {\n // TODO(sorvell): mark this element as a lightDOMController so that\n // event listeners on bound nodes inside it will be called on it.\n // Note, the expectation here is that events on all descendants \n // should be handled by this element.\n this.lightDomController = true;\n // stamp template\n // which includes parsing and applying MDV bindings before being \n // inserted (to avoid {{}} in attribute values)\n // e.g. to prevent <img src=\"images/{{icon}}\"> from generating a 404.\n var dom = this.instanceTemplate(template);\n // append to shadow dom\n if (refNode) {\n this.insertBefore(dom, refNode); \n } else {\n this.appendChild(dom);\n }\n // perform post-construction initialization tasks on ahem, light root\n this.shadowRootReady(this);\n // return the created shadow root\n return dom;\n }\n },\n shadowRootReady: function(root) {\n // locate nodes with id and store references to them in this.$ hash\n this.marshalNodeReferences(root);\n // set up pointer gestures\n PointerGestures.register(root);\n },\n // locate nodes with id and store references to them in this.$ hash\n marshalNodeReferences: function(root) {\n // establish $ instance variable\n var $ = this.$ = this.$ || {};\n // populate $ from nodes with ID from the LOCAL tree\n if (root) {\n var n$ = root.querySelectorAll(\"[id]\");\n for (var i=0, l=n$.length, n; (i<l) && (n=n$[i]); i++) {\n $[n.id] = n;\n };\n }\n },\n attributeChangedCallback: function(name, oldValue) {\n // TODO(sjmiles): adhoc filter\n if (name !== 'class' && name !== 'style') {\n this.attributeToProperty(name, this.getAttribute(name));\n }\n if (this.attributeChanged) {\n this.attributeChanged.apply(this, arguments);\n }\n },\n onMutation: function(node, listener) {\n var observer = new MutationObserver(function(mutations) {\n listener.call(this, observer, mutations);\n observer.disconnect();\n }.bind(this));\n observer.observe(node, {childList: true, subtree: true});\n }\n };\n\n // true if object has own PolymerBase api\n function isBase(object) {\n return object.hasOwnProperty('PolymerBase') \n }\n\n // name a base constructor for dev tools\n\n function PolymerBase() {};\n PolymerBase.prototype = base;\n base.constructor = PolymerBase;\n \n // exports\n\n scope.Base = PolymerBase;\n scope.isBase = isBase;\n scope.api.instance.base = base;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n \n // magic words\n \n var STYLE_SCOPE_ATTRIBUTE = 'element';\n var STYLE_CONTROLLER_SCOPE = 'controller';\n \n var styles = {\n STYLE_SCOPE_ATTRIBUTE: STYLE_SCOPE_ATTRIBUTE,\n /**\n * Installs external stylesheets and <style> elements with the attribute \n * polymer-scope='controller' into the scope of element. This is intended\n * to be a called during custom element construction.\n */\n installControllerStyles: function() {\n // apply controller styles, but only if they are not yet applied\n var scope = this.findStyleScope();\n if (scope && !this.scopeHasNamedStyle(scope, this.localName)) {\n // allow inherited controller styles\n var proto = getPrototypeOf(this), cssText = '';\n while (proto && proto.element) {\n cssText += proto.element.cssTextForScope(STYLE_CONTROLLER_SCOPE);\n proto = getPrototypeOf(proto);\n }\n if (cssText) {\n this.installScopeCssText(cssText, scope);\n }\n }\n },\n installScopeStyle: function(style, name, scope) {\n var scope = scope || this.findStyleScope(), name = name || '';\n if (scope && !this.scopeHasNamedStyle(scope, this.localName + name)) {\n var cssText = '';\n if (style instanceof Array) {\n for (var i=0, l=style.length, s; (i<l) && (s=style[i]); i++) {\n cssText += s.textContent + '\\n\\n';\n }\n } else {\n cssText = style.textContent;\n }\n this.installScopeCssText(cssText, scope, name);\n }\n },\n installScopeCssText: function(cssText, scope, name) {\n scope = scope || this.findStyleScope();\n name = name || '';\n if (!scope) {\n return;\n }\n if (window.ShadowDOMPolyfill) {\n cssText = shimCssText(cssText, scope.host);\n }\n var style = this.element.cssTextToScopeStyle(cssText,\n STYLE_CONTROLLER_SCOPE);\n Polymer.applyStyleToScope(style, scope);\n // cache that this style has been applied\n scope._scopeStyles[this.localName + name] = true;\n },\n findStyleScope: function(node) {\n // find the shadow root that contains this element\n var n = node || this;\n while (n.parentNode) {\n n = n.parentNode;\n }\n return n;\n },\n scopeHasNamedStyle: function(scope, name) {\n scope._scopeStyles = scope._scopeStyles || {};\n return scope._scopeStyles[name];\n }\n };\n \n // NOTE: use raw prototype traversal so that we ensure correct traversal\n // on platforms where the protoype chain is simulated via __proto__ (IE10)\n function getPrototypeOf(prototype) {\n return prototype.__proto__;\n }\n\n function shimCssText(cssText, host) {\n var name = '', is = false;\n if (host) {\n name = host.localName;\n is = host.hasAttribute('is');\n }\n var selector = Platform.ShadowCSS.makeScopeSelector(name, is);\n return Platform.ShadowCSS.shimCssText(cssText, selector);\n }\n\n // exports\n\n scope.api.instance.styles = styles;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var extend = scope.extend;\n var api = scope.api;\n\n // imperative implementation: Polymer()\n\n // specify an 'own' prototype for tag `name`\n function element(name, prototype) {\n if (arguments.length === 1 && typeof arguments[0] !== 'string') {\n prototype = name;\n var script = document._currentScript;\n name = script && script.parentNode && script.parentNode.getAttribute ?\n script.parentNode.getAttribute('name') : '';\n if (!name) {\n throw 'Element name could not be inferred.';\n }\n }\n if (getRegisteredPrototype[name]) {\n throw 'Already registered (Polymer) prototype for element ' + name;\n }\n // cache the prototype\n registerPrototype(name, prototype);\n // notify the registrar waiting for 'name', if any\n notifyPrototype(name);\n }\n\n // async prototype source\n\n function waitingForPrototype(name, client) {\n waitPrototype[name] = client;\n }\n\n var waitPrototype = {};\n\n function notifyPrototype(name) {\n if (waitPrototype[name]) {\n waitPrototype[name].registerWhenReady();\n delete waitPrototype[name];\n }\n }\n\n // utility and bookkeeping\n\n // maps tag names to prototypes, as registered with\n // Polymer. Prototypes associated with a tag name\n // using document.registerElement are available from\n // HTMLElement.getPrototypeForTag().\n // If an element was fully registered by Polymer, then\n // Polymer.getRegisteredPrototype(name) === \n // HTMLElement.getPrototypeForTag(name)\n\n var prototypesByName = {};\n\n function registerPrototype(name, prototype) {\n return prototypesByName[name] = prototype || {};\n }\n\n function getRegisteredPrototype(name) {\n return prototypesByName[name];\n }\n\n // exports\n\n scope.getRegisteredPrototype = getRegisteredPrototype;\n scope.waitingForPrototype = waitingForPrototype;\n\n // namespace shenanigans so we can expose our scope on the registration \n // function\n\n // make window.Polymer reference `element()`\n\n window.Polymer = element;\n\n // TODO(sjmiles): find a way to do this that is less terrible\n // copy window.Polymer properties onto `element()`\n\n extend(Polymer, scope);\n\n // Under the HTMLImports polyfill, scripts in the main document\n // do not block on imports; we want to allow calls to Polymer in the main\n // document. Platform collects those calls until we can process them, which\n // we do here.\n\n var declarations = Platform.deliverDeclarations();\n if (declarations) {\n for (var i=0, l=declarations.length, d; (i<l) && (d=declarations[i]); i++) {\n element.apply(null, d);\n }\n }\n\n})(Polymer);\n","/* \n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\nvar path = {\n resolveElementPaths: function(node) {\n Platform.urlResolver.resolveDom(node);\n },\n addResolvePathApi: function() {\n // let assetpath attribute modify the resolve path\n var assetPath = this.getAttribute('assetpath') || '';\n var root = new URL(assetPath, this.ownerDocument.baseURI);\n this.prototype.resolvePath = function(urlPath, base) {\n var u = new URL(urlPath, base || root);\n return u.href;\n };\n }\n};\n\n// exports\nscope.api.declaration.path = path;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n var api = scope.api.instance.styles;\n var STYLE_SCOPE_ATTRIBUTE = api.STYLE_SCOPE_ATTRIBUTE;\n\n // magic words\n\n var STYLE_SELECTOR = 'style';\n var STYLE_LOADABLE_MATCH = '@import';\n var SHEET_SELECTOR = 'link[rel=stylesheet]';\n var STYLE_GLOBAL_SCOPE = 'global';\n var SCOPE_ATTR = 'polymer-scope';\n\n var styles = {\n // returns true if resources are loading\n loadStyles: function(callback) {\n var content = this.templateContent();\n if (content) {\n this.convertSheetsToStyles(content);\n }\n var styles = this.findLoadableStyles(content);\n if (styles.length) {\n Platform.styleResolver.loadStyles(styles, callback);\n } else if (callback) {\n callback();\n }\n },\n convertSheetsToStyles: function(root) {\n var s$ = root.querySelectorAll(SHEET_SELECTOR);\n for (var i=0, l=s$.length, s, c; (i<l) && (s=s$[i]); i++) {\n c = createStyleElement(importRuleForSheet(s, this.ownerDocument.baseURI),\n this.ownerDocument);\n this.copySheetAttributes(c, s);\n s.parentNode.replaceChild(c, s);\n }\n },\n copySheetAttributes: function(style, link) {\n for (var i=0, a$=link.attributes, l=a$.length, a; (a=a$[i]) && i<l; i++) {\n if (a.name !== 'rel' && a.name !== 'href') {\n style.setAttribute(a.name, a.value);\n }\n }\n },\n findLoadableStyles: function(root) {\n var loadables = [];\n if (root) {\n var s$ = root.querySelectorAll(STYLE_SELECTOR);\n for (var i=0, l=s$.length, s; (i<l) && (s=s$[i]); i++) {\n if (s.textContent.match(STYLE_LOADABLE_MATCH)) {\n loadables.push(s);\n }\n }\n }\n return loadables;\n },\n /**\n * Install external stylesheets loaded in <polymer-element> elements into the \n * element's template.\n * @param elementElement The <element> element to style.\n */\n installSheets: function() {\n this.cacheSheets();\n this.cacheStyles();\n this.installLocalSheets();\n this.installGlobalStyles();\n },\n /**\n * Remove all sheets from element and store for later use.\n */\n cacheSheets: function() {\n this.sheets = this.findNodes(SHEET_SELECTOR);\n this.sheets.forEach(function(s) {\n if (s.parentNode) {\n s.parentNode.removeChild(s);\n }\n });\n },\n cacheStyles: function() {\n this.styles = this.findNodes(STYLE_SELECTOR + '[' + SCOPE_ATTR + ']');\n this.styles.forEach(function(s) {\n if (s.parentNode) {\n s.parentNode.removeChild(s);\n }\n });\n },\n /**\n * Takes external stylesheets loaded in an <element> element and moves\n * their content into a <style> element inside the <element>'s template.\n * The sheet is then removed from the <element>. This is done only so \n * that if the element is loaded in the main document, the sheet does\n * not become active.\n * Note, ignores sheets with the attribute 'polymer-scope'.\n * @param elementElement The <element> element to style.\n */\n installLocalSheets: function () {\n var sheets = this.sheets.filter(function(s) {\n return !s.hasAttribute(SCOPE_ATTR);\n });\n var content = this.templateContent();\n if (content) {\n var cssText = '';\n sheets.forEach(function(sheet) {\n cssText += cssTextFromSheet(sheet) + '\\n';\n });\n if (cssText) {\n var style = createStyleElement(cssText, this.ownerDocument);\n content.insertBefore(style, content.firstChild);\n }\n }\n },\n findNodes: function(selector, matcher) {\n var nodes = this.querySelectorAll(selector).array();\n var content = this.templateContent();\n if (content) {\n var templateNodes = content.querySelectorAll(selector).array();\n nodes = nodes.concat(templateNodes);\n }\n return matcher ? nodes.filter(matcher) : nodes;\n },\n templateContent: function() {\n var template = this.querySelector('template');\n return template && templateContent(template);\n },\n /**\n * Promotes external stylesheets and <style> elements with the attribute \n * polymer-scope='global' into global scope.\n * This is particularly useful for defining @keyframe rules which \n * currently do not function in scoped or shadow style elements.\n * (See wkb.ug/72462)\n * @param elementElement The <element> element to style.\n */\n // TODO(sorvell): remove when wkb.ug/72462 is addressed.\n installGlobalStyles: function() {\n var style = this.styleForScope(STYLE_GLOBAL_SCOPE);\n applyStyleToScope(style, document.head);\n },\n cssTextForScope: function(scopeDescriptor) {\n var cssText = '';\n // handle stylesheets\n var selector = '[' + SCOPE_ATTR + '=' + scopeDescriptor + ']';\n var matcher = function(s) {\n return matchesSelector(s, selector);\n };\n var sheets = this.sheets.filter(matcher);\n sheets.forEach(function(sheet) {\n cssText += cssTextFromSheet(sheet) + '\\n\\n';\n });\n // handle cached style elements\n var styles = this.styles.filter(matcher);\n styles.forEach(function(style) {\n cssText += style.textContent + '\\n\\n';\n });\n return cssText;\n },\n styleForScope: function(scopeDescriptor) {\n var cssText = this.cssTextForScope(scopeDescriptor);\n return this.cssTextToScopeStyle(cssText, scopeDescriptor);\n },\n cssTextToScopeStyle: function(cssText, scopeDescriptor) {\n if (cssText) {\n var style = createStyleElement(cssText);\n style.setAttribute(STYLE_SCOPE_ATTRIBUTE, this.getAttribute('name') +\n '-' + scopeDescriptor);\n return style;\n }\n }\n };\n\n function importRuleForSheet(sheet, baseUrl) {\n var href = new URL(sheet.getAttribute('href'), baseUrl).href;\n return '@import \\'' + href + '\\';';\n }\n\n function applyStyleToScope(style, scope) {\n if (style) {\n if (scope === document) {\n scope = document.head;\n }\n if (window.ShadowDOMPolyfill) {\n scope = document.head;\n }\n // TODO(sorvell): necessary for IE\n // see https://connect.microsoft.com/IE/feedback/details/790212/\n // cloning-a-style-element-and-adding-to-document-produces\n // -unexpected-result#details\n // var clone = style.cloneNode(true);\n var clone = createStyleElement(style.textContent);\n var attr = style.getAttribute(STYLE_SCOPE_ATTRIBUTE);\n if (attr) {\n clone.setAttribute(STYLE_SCOPE_ATTRIBUTE, attr);\n }\n // TODO(sorvell): probably too brittle; try to figure out \n // where to put the element.\n var refNode = scope.firstElementChild;\n if (scope === document.head) {\n var selector = 'style[' + STYLE_SCOPE_ATTRIBUTE + ']';\n var s$ = document.head.querySelectorAll(selector);\n if (s$.length) {\n refNode = s$[s$.length-1].nextElementSibling;\n }\n }\n scope.insertBefore(clone, refNode);\n }\n }\n\n function createStyleElement(cssText, scope) {\n scope = scope || document;\n scope = scope.createElement ? scope : scope.ownerDocument;\n var style = scope.createElement('style');\n style.textContent = cssText;\n return style;\n }\n\n function cssTextFromSheet(sheet) {\n return (sheet && sheet.__resource) || '';\n }\n\n function matchesSelector(node, inSelector) {\n if (matches) {\n return matches.call(node, inSelector);\n }\n }\n var p = HTMLElement.prototype;\n var matches = p.matches || p.matchesSelector || p.webkitMatchesSelector \n || p.mozMatchesSelector;\n \n // exports\n\n scope.api.declaration.styles = styles;\n scope.applyStyleToScope = applyStyleToScope;\n \n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n\n(function(scope) {\n\n // imports\n\n var log = window.logFlags || {};\n var api = scope.api.instance.events;\n var EVENT_PREFIX = api.EVENT_PREFIX;\n // polymer-element declarative api: events feature\n\n var events = { \n parseHostEvents: function() {\n // our delegates map\n var delegates = this.prototype.eventDelegates;\n // extract data from attributes into delegates\n this.addAttributeDelegates(delegates);\n },\n addAttributeDelegates: function(delegates) {\n // for each attribute\n for (var i=0, a; a=this.attributes[i]; i++) {\n // does it have magic marker identifying it as an event delegate?\n if (this.hasEventPrefix(a.name)) {\n // if so, add the info to delegates\n delegates[this.removeEventPrefix(a.name)] = a.value.replace('{{', '')\n .replace('}}', '').trim();\n }\n }\n },\n // starts with 'on-'\n hasEventPrefix: function (n) {\n return n && (n[0] === 'o') && (n[1] === 'n') && (n[2] === '-');\n },\n removeEventPrefix: function(n) {\n return n.slice(prefixLength);\n }\n };\n\n var prefixLength = EVENT_PREFIX.length;\n\n // exports\n scope.api.declaration.events = events;\n\n})(Polymer);","/*\r\n * Copyright 2013 The Polymer Authors. All rights reserved.\r\n * Use of this source code is governed by a BSD-style\r\n * license that can be found in the LICENSE file.\r\n */\r\n(function(scope) {\r\n\r\n // element api\r\n\r\n var properties = {\r\n inferObservers: function(prototype) {\r\n // called before prototype.observe is chained to inherited object\r\n var observe = prototype.observe, property;\r\n for (var n in prototype) {\r\n if (n.slice(-7) === 'Changed') {\r\n if (!observe) {\r\n observe = (prototype.observe = {});\r\n }\r\n property = n.slice(0, -7)\r\n observe[property] = observe[property] || n;\r\n }\r\n }\r\n },\r\n explodeObservers: function(prototype) {\r\n // called before prototype.observe is chained to inherited object\r\n var o = prototype.observe;\r\n if (o) {\r\n var exploded = {};\r\n for (var n in o) {\r\n var names = n.split(' ');\r\n for (var i=0, ni; ni=names[i]; i++) {\r\n exploded[ni] = o[n];\r\n }\r\n }\r\n prototype.observe = exploded;\r\n }\r\n },\r\n optimizePropertyMaps: function(prototype) {\r\n if (prototype.observe) {\r\n // construct name list\r\n var a = prototype._observeNames = [];\r\n for (var n in prototype.observe) {\r\n var names = n.split(' ');\r\n for (var i=0, ni; ni=names[i]; i++) {\r\n a.push(ni);\r\n }\r\n }\r\n }\r\n if (prototype.publish) {\r\n // construct name list\r\n var a = prototype._publishNames = [];\r\n for (var n in prototype.publish) {\r\n a.push(n);\r\n }\r\n }\r\n },\r\n publishProperties: function(prototype, base) {\r\n // if we have any properties to publish\r\n var publish = prototype.publish;\r\n if (publish) {\r\n // transcribe `publish` entries onto own prototype\r\n this.requireProperties(publish, prototype, base);\r\n // construct map of lower-cased property names\r\n prototype._publishLC = this.lowerCaseMap(publish);\r\n }\r\n },\r\n requireProperties: function(properties, prototype, base) {\r\n // ensure a prototype value for each property\r\n for (var n in properties) {\r\n if (prototype[n] === undefined && base[n] === undefined) {\r\n prototype[n] = properties[n];\r\n }\r\n }\r\n },\r\n lowerCaseMap: function(properties) {\r\n var map = {};\r\n for (var n in properties) {\r\n map[n.toLowerCase()] = n;\r\n }\r\n return map;\r\n }\r\n };\r\n\r\n // exports\r\n\r\n scope.api.declaration.properties = properties;\r\n\r\n})(Polymer);\r\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // magic words\n\n var ATTRIBUTES_ATTRIBUTE = 'attributes';\n var ATTRIBUTES_REGEX = /\\s|,/;\n\n // attributes api\n\n var attributes = {\n inheritAttributesObjects: function(prototype) {\n // chain our lower-cased publish map to the inherited version\n this.inheritObject(prototype, 'publishLC');\n // chain our instance attributes map to the inherited version\n this.inheritObject(prototype, '_instanceAttributes');\n },\n publishAttributes: function(prototype, base) {\n // merge names from 'attributes' attribute\n var attributes = this.getAttribute(ATTRIBUTES_ATTRIBUTE);\n if (attributes) {\n // get properties to publish\n var publish = prototype.publish || (prototype.publish = {});\n // names='a b c' or names='a,b,c'\n var names = attributes.split(ATTRIBUTES_REGEX);\n // record each name for publishing\n for (var i=0, l=names.length, n; i<l; i++) {\n // remove excess ws\n n = names[i].trim();\n // do not override explicit entries\n if (n && publish[n] === undefined && base[n] === undefined) {\n publish[n] = null;\n }\n }\n }\n },\n // record clonable attributes from <element>\n accumulateInstanceAttributes: function() {\n // inherit instance attributes\n var clonable = this.prototype._instanceAttributes;\n // merge attributes from element\n var a$ = this.attributes;\n for (var i=0, l=a$.length, a; (i<l) && (a=a$[i]); i++) { \n if (this.isInstanceAttribute(a.name)) {\n clonable[a.name] = a.value;\n }\n }\n },\n isInstanceAttribute: function(name) {\n return !this.blackList[name] && name.slice(0,3) !== 'on-';\n },\n // do not clone these attributes onto instances\n blackList: {\n name: 1,\n 'extends': 1,\n constructor: 1,\n noscript: 1,\n assetpath: 1,\n 'cache-csstext': 1\n }\n };\n\n // add ATTRIBUTES_ATTRIBUTE to the blacklist\n attributes.blackList[ATTRIBUTES_ATTRIBUTE] = 1;\n\n // exports\n\n scope.api.declaration.attributes = attributes;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n \n var api = scope.api;\n var isBase = scope.isBase;\n var extend = scope.extend;\n\n // prototype api\n\n var prototype = {\n\n register: function(name, extendeeName) {\n // build prototype combining extendee, Polymer base, and named api\n this.buildPrototype(name, extendeeName);\n // register our custom element with the platform\n this.registerPrototype(name, extendeeName);\n // reference constructor in a global named by 'constructor' attribute\n this.publishConstructor();\n },\n\n buildPrototype: function(name, extendeeName) {\n // get our custom prototype (before chaining)\n var extension = scope.getRegisteredPrototype(name);\n // get basal prototype\n var base = this.generateBasePrototype(extendeeName);\n // implement declarative features\n this.desugarBeforeChaining(extension, base);\n // join prototypes\n this.prototype = this.chainPrototypes(extension, base);\n // more declarative features\n this.desugarAfterChaining(name, extendeeName);\n },\n\n desugarBeforeChaining: function(prototype, base) {\n // back reference declaration element\n // TODO(sjmiles): replace `element` with `elementElement` or `declaration`\n prototype.element = this;\n // transcribe `attributes` declarations onto own prototype's `publish`\n this.publishAttributes(prototype, base);\n // `publish` properties to the prototype and to attribute watch\n this.publishProperties(prototype, base);\n // infer observers for `observe` list based on method names\n this.inferObservers(prototype);\n // desugar compound observer syntax, e.g. 'a b c' \n this.explodeObservers(prototype);\n },\n\n chainPrototypes: function(prototype, base) {\n // chain various meta-data objects to inherited versions\n this.inheritMetaData(prototype, base);\n // chain custom api to inherited\n var chained = this.chainObject(prototype, base);\n // x-platform fixup\n ensurePrototypeTraversal(chained);\n return chained;\n },\n\n inheritMetaData: function(prototype, base) {\n // chain observe object to inherited\n this.inheritObject('observe', prototype, base);\n // chain publish object to inherited\n this.inheritObject('publish', prototype, base);\n // chain our lower-cased publish map to the inherited version\n this.inheritObject('_publishLC', prototype, base);\n // chain our instance attributes map to the inherited version\n this.inheritObject('_instanceAttributes', prototype, base);\n // chain our event delegates map to the inherited version\n this.inheritObject('eventDelegates', prototype, base);\n },\n\n // implement various declarative features\n desugarAfterChaining: function(name, extendee) {\n // build side-chained lists to optimize iterations\n this.optimizePropertyMaps(this.prototype);\n // install external stylesheets as if they are inline\n this.installSheets();\n // adjust any paths in dom from imports\n this.resolveElementPaths(this);\n // compile list of attributes to copy to instances\n this.accumulateInstanceAttributes();\n // parse on-* delegates declared on `this` element\n this.parseHostEvents();\n //\n // install a helper method this.resolvePath to aid in \n // setting resource urls. e.g.\n // this.$.image.src = this.resolvePath('images/foo.png')\n this.addResolvePathApi();\n // under ShadowDOMPolyfill, transforms to approximate missing CSS features\n if (window.ShadowDOMPolyfill) {\n Platform.ShadowCSS.shimStyling(this.templateContent(), name, extendee);\n }\n // allow custom element access to the declarative context\n if (this.prototype.registerCallback) {\n this.prototype.registerCallback(this);\n }\n },\n\n // if a named constructor is requested in element, map a reference\n // to the constructor to the given symbol\n publishConstructor: function() {\n var symbol = this.getAttribute('constructor');\n if (symbol) {\n window[symbol] = this.ctor;\n }\n },\n\n // build prototype combining extendee, Polymer base, and named api\n generateBasePrototype: function(extnds) {\n var prototype = this.findBasePrototype(extnds);\n if (!prototype) {\n // create a prototype based on tag-name extension\n var prototype = HTMLElement.getPrototypeForTag(extnds);\n // insert base api in inheritance chain (if needed)\n prototype = this.ensureBaseApi(prototype);\n // memoize this base\n memoizedBases[extnds] = prototype;\n }\n return prototype;\n },\n\n findBasePrototype: function(name) {\n return memoizedBases[name];\n },\n\n // install Polymer instance api into prototype chain, as needed \n ensureBaseApi: function(prototype) {\n if (prototype.PolymerBase) {\n return prototype;\n }\n var extended = Object.create(prototype);\n // we need a unique copy of base api for each base prototype\n // therefore we 'extend' here instead of simply chaining\n api.publish(api.instance, extended);\n // TODO(sjmiles): sharing methods across prototype chains is\n // not supported by 'super' implementation which optimizes\n // by memoizing prototype relationships.\n // Probably we should have a version of 'extend' that is \n // share-aware: it could study the text of each function,\n // look for usage of 'super', and wrap those functions in\n // closures.\n // As of now, there is only one problematic method, so \n // we just patch it manually.\n // To avoid re-entrancy problems, the special super method\n // installed is called `mixinSuper` and the mixin method\n // must use this method instead of the default `super`.\n this.mixinMethod(extended, prototype, api.instance.mdv, 'bind');\n // return buffed-up prototype\n return extended;\n },\n\n mixinMethod: function(extended, prototype, api, name) {\n var $super = function(args) {\n return prototype[name].apply(this, args);\n };\n extended[name] = function() {\n this.mixinSuper = $super;\n return api[name].apply(this, arguments);\n }\n },\n\n // ensure prototype[name] inherits from a prototype.prototype[name]\n inheritObject: function(name, prototype, base) {\n // require an object\n var source = prototype[name] || {};\n // chain inherited properties onto a new object\n prototype[name] = this.chainObject(source, base[name]);\n },\n\n // register 'prototype' to custom element 'name', store constructor \n registerPrototype: function(name, extendee) { \n var info = {\n prototype: this.prototype\n }\n // native element must be specified in extends\n var typeExtension = this.findTypeExtension(extendee);\n if (typeExtension) {\n info.extends = typeExtension;\n }\n // register the prototype with HTMLElement for name lookup\n HTMLElement.register(name, this.prototype);\n // register the custom type\n this.ctor = document.registerElement(name, info);\n },\n\n findTypeExtension: function(name) {\n if (name && name.indexOf('-') < 0) {\n return name;\n } else {\n var p = this.findBasePrototype(name);\n if (p.element) {\n return this.findTypeExtension(p.element.extends);\n }\n }\n }\n\n };\n\n // memoize base prototypes\n var memoizedBases = {};\n\n // implementation of 'chainObject' depends on support for __proto__\n if (Object.__proto__) {\n prototype.chainObject = function(object, inherited) {\n if (object && inherited && object !== inherited) {\n object.__proto__ = inherited;\n }\n return object;\n }\n } else {\n prototype.chainObject = function(object, inherited) {\n if (object && inherited && object !== inherited) {\n var chained = Object.create(inherited);\n object = extend(chained, object);\n }\n return object;\n }\n }\n\n // On platforms that do not support __proto__ (versions of IE), the prototype\n // chain of a custom element is simulated via installation of __proto__.\n // Although custom elements manages this, we install it here so it's\n // available during desugaring.\n function ensurePrototypeTraversal(prototype) {\n if (!Object.__proto__) {\n var ancestor = Object.getPrototypeOf(prototype);\n prototype.__proto__ = ancestor;\n if (isBase(ancestor)) {\n ancestor.__proto__ = Object.getPrototypeOf(ancestor);\n }\n }\n }\n\n // exports\n\n api.declaration.prototype = prototype;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var queue = {\n // tell the queue to wait for an element to be ready\n wait: function(element, check, go) {\n if (this.indexOf(element) === -1) {\n this.add(element);\n element.__check = check;\n element.__go = go;\n }\n return (this.indexOf(element) !== 0);\n },\n add: function(element) {\n //console.log('queueing', element.name);\n queueForElement(element).push(element);\n },\n indexOf: function(element) {\n var i = queueForElement(element).indexOf(element);\n if (i >= 0 && document.contains(element)) {\n i += (HTMLImports.useNative || HTMLImports.ready) ? \n importQueue.length : 1e9;\n }\n return i; \n },\n // tell the queue an element is ready to be registered\n go: function(element) {\n var readied = this.remove(element);\n if (readied) {\n readied.__go.call(readied);\n readied.__check = readied.__go = null;\n this.check();\n }\n },\n remove: function(element) {\n var i = this.indexOf(element);\n if (i !== 0) {\n //console.warn('queue order wrong', i);\n return;\n }\n return queueForElement(element).shift();\n },\n check: function() {\n // next\n var element = this.nextElement();\n if (element) {\n element.__check.call(element);\n }\n if (this.canReady()) {\n this.ready();\n return true;\n }\n },\n nextElement: function() {\n return nextQueued();\n },\n canReady: function() {\n return !this.waitToReady && this.isEmpty();\n },\n isEmpty: function() {\n return !importQueue.length && !mainQueue.length;\n },\n ready: function() {\n // TODO(sorvell): As an optimization, turn off CE polyfill upgrading\n // while registering. This way we avoid having to upgrade each document\n // piecemeal per registration and can instead register all elements\n // and upgrade once in a batch. Without this optimization, upgrade time\n // degrades significantly when SD polyfill is used. This is mainly because\n // querying the document tree for elements is slow under the SD polyfill.\n if (CustomElements.ready === false) {\n CustomElements.upgradeDocumentTree(document);\n CustomElements.ready = true;\n }\n if (readyCallbacks) {\n var fn;\n while (readyCallbacks.length) {\n fn = readyCallbacks.shift();\n fn();\n }\n }\n },\n addReadyCallback: function(callback) {\n if (callback) {\n readyCallbacks.push(callback);\n }\n },\n waitToReady: true\n };\n\n var importQueue = [];\n var mainQueue = [];\n var readyCallbacks = [];\n\n function queueForElement(element) {\n return document.contains(element) ? mainQueue : importQueue;\n }\n\n function nextQueued() {\n return importQueue.length ? importQueue[0] : mainQueue[0];\n }\n\n var polymerReadied = false; \n\n document.addEventListener('WebComponentsReady', function() {\n CustomElements.ready = false;\n });\n \n function whenPolymerReady(callback) {\n queue.waitToReady = true;\n CustomElements.ready = false;\n HTMLImports.whenImportsReady(function() {\n queue.addReadyCallback(callback);\n queue.waitToReady = false;\n queue.check();\n });\n }\n\n // exports\n scope.queue = queue;\n scope.whenPolymerReady = whenPolymerReady;\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n var whenPolymerReady = scope.whenPolymerReady;\n\n function importElements(elementOrFragment, callback) {\n if (elementOrFragment) {\n document.head.appendChild(elementOrFragment);\n whenPolymerReady(callback);\n } else if (callback) {\n callback();\n }\n }\n\n function importUrls(urls, callback) {\n if (urls && urls.length) {\n var frag = document.createDocumentFragment();\n for (var i=0, l=urls.length, url, link; (i<l) && (url=urls[i]); i++) {\n link = document.createElement('link');\n link.rel = 'import';\n link.href = url;\n frag.appendChild(link);\n }\n importElements(frag, callback);\n } else if (callback) {\n callback();\n }\n }\n\n // exports\n scope.import = importUrls;\n scope.importElements = importElements;\n\n})(Polymer);\n","/*\n * Copyright 2013 The Polymer Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style\n * license that can be found in the LICENSE file.\n */\n(function(scope) {\n\n // imports\n\n var extend = scope.extend;\n var api = scope.api;\n var queue = scope.queue;\n var whenPolymerReady = scope.whenPolymerReady;\n var getRegisteredPrototype = scope.getRegisteredPrototype;\n var waitingForPrototype = scope.waitingForPrototype;\n\n // declarative implementation: <polymer-element>\n\n var prototype = extend(Object.create(HTMLElement.prototype), {\n\n createdCallback: function() {\n if (this.getAttribute('name')) {\n this.init();\n }\n },\n\n init: function() {\n // fetch declared values\n this.name = this.getAttribute('name');\n this.extends = this.getAttribute('extends');\n // initiate any async resource fetches\n this.loadResources();\n // register when all constraints are met\n this.registerWhenReady();\n },\n\n registerWhenReady: function() {\n if (this.registered\n || this.waitingForPrototype(this.name)\n || this.waitingForQueue()\n || this.waitingForResources()) {\n return;\n }\n // TODO(sorvell): ends up calling '_register' by virtue\n // of `waitingForQueue` (see below)\n queue.go(this);\n },\n\n // TODO(sorvell): refactor, this method is private-ish, but it's being\n // called by the queue object.\n _register: function() {\n //console.log('registering', this.name);\n //console.group('registering', this.name);\n // warn if extending from a custom element not registered via Polymer\n if (isCustomTag(this.extends) && !isRegistered(this.extends)) {\n console.warn('%s is attempting to extend %s, an unregistered element ' +\n 'or one that was not registered with Polymer.', this.name,\n this.extends);\n }\n this.register(this.name, this.extends);\n this.registered = true;\n //console.groupEnd();\n },\n\n waitingForPrototype: function(name) {\n if (!getRegisteredPrototype(name)) {\n // then wait for a prototype\n waitingForPrototype(name, this);\n // emulate script if user is not supplying one\n this.handleNoScript(name);\n // prototype not ready yet\n return true;\n }\n },\n\n handleNoScript: function(name) {\n // if explicitly marked as 'noscript'\n if (this.hasAttribute('noscript') && !this.noscript) {\n this.noscript = true;\n // TODO(sorvell): CustomElements polyfill awareness:\n // noscript elements should upgrade in logical order\n // script injection ensures this under native custom elements;\n // under imports + ce polyfills, scripts run before upgrades.\n // dependencies should be ready at upgrade time so register\n // prototype at this time.\n if (window.CustomElements && !CustomElements.useNative) {\n Polymer(name);\n } else {\n var script = document.createElement('script');\n script.textContent = 'Polymer(\\'' + name + '\\');';\n this.appendChild(script);\n }\n }\n },\n\n waitingForResources: function() {\n return this._needsResources;\n },\n\n // NOTE: Elements must be queued in proper order for inheritance/composition\n // dependency resolution. Previously this was enforced for inheritance,\n // and by rule for composition. It's now entirely by rule.\n waitingForQueue: function() {\n return queue.wait(this, this.registerWhenReady, this._register);\n },\n\n loadResources: function() {\n this._needsResources = true;\n this.loadStyles(function() {\n this._needsResources = false;\n this.registerWhenReady();\n }.bind(this));\n }\n\n });\n\n // semi-pluggable APIs \n\n // TODO(sjmiles): should be fully pluggable (aka decoupled, currently\n // the various plugins are allowed to depend on each other directly)\n api.publish(api.declaration, prototype);\n\n // utility and bookkeeping\n\n function isRegistered(name) {\n return Boolean(HTMLElement.getPrototypeForTag(name));\n }\n\n function isCustomTag(name) {\n return (name && name.indexOf('-') >= 0);\n }\n\n // exports\n\n scope.getRegisteredPrototype = getRegisteredPrototype;\n \n // boot tasks\n\n whenPolymerReady(function() {\n document.body.removeAttribute('unresolved');\n document.dispatchEvent(\n new CustomEvent('polymer-ready', {bubbles: true})\n );\n });\n\n // register polymer-element with document\n\n document.registerElement('polymer-element', {prototype: prototype});\n\n})(Polymer);\n"]} \ No newline at end of file
diff --git a/third_party/polymer/vulcanized/polymer-elements.html b/third_party/polymer/vulcanized/polymer-elements.html
new file mode 100644
index 0000000000..ed330f8381
--- /dev/null
+++ b/third_party/polymer/vulcanized/polymer-elements.html
@@ -0,0 +1,175 @@
+<polymer-element name="polymer-body" extends="body" assetpath="../polymer/">
+
+
+
+</polymer-element>
+<!--
+ Copyright 2013 The Polymer Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style
+ license that can be found in the LICENSE file.
+-->
+
+<!-- <link rel="import" href="../polymer-dev/polymer.html"> -->
+
+<!--
+Copyright 2013 The Polymer Authors. All rights reserved.
+Use of this source code is governed by a BSD-style
+license that can be found in the LICENSE file.
+-->
+<!--
+/**
+ * @module Polymer Elements
+ */
+-->
+<!--
+/**
+ * The polymer-selection element is used to manage selection state. It has no
+ * visual appearance and is typically used in conjuneciton with another element.
+ * For example, <a href="polymer-selector.html">polymer-selector</a>
+ * use a polymer-selection to manage selection.
+ *
+ * To mark an item as selected, call the select(item) method on
+ * polymer-selection. Notice that the item itself is an argument to this method.
+ * The polymer-selection element manages selection state for any given set of
+ * items. When an item is selected, the `polymer-select` event is fired.
+ * The attribute "multi" indicates if multiple items can be selected at once.
+ *
+ * Example:
+ *
+ * <polymer-element name="selection-example">
+ * <template>
+ * <style>
+ * ::-webkit-distributed(> .selected) {
+ * font-weight: bold;
+ * font-style: italic;
+ * }
+ * </style>
+ * <ul on-tap="{{itemTapAction}}">
+ * <content></content>
+ * </ul>
+ * <polymer-selection id="selection" multi on-polymer-select="{{selectAction}}"></polymer-selection>
+ * </template>
+ * <script>
+ * Polymer('selection-example', {
+ * itemTapAction: function(e) {
+ * this.$.selection.select(e.target);
+ * },
+ * selectAction: function(e, detail) {
+ * detail.item.classList.toggle('selected', detail.isSelected);
+ * }
+ * });
+ * </script>
+ * </polymer-element>
+ *
+ * <selection-example>
+ * <li>Red</li>
+ * <li>Green</li>
+ * <li>Blue</li>
+ * </selection-example>
+ *
+ * @class polymer-selection
+ */
+ /**
+ * Fired when an item's selection state is changed. This event is fired both
+ * when an item is selected or deselected. The `isSelected` detail property
+ * contains the selection state.
+ *
+ * @event polymer-select
+ * @param {Object} detail
+ * @param {boolean} detail.isSelected true for selection and false for deselection
+ * @param {Object} detail.item the item element
+ */
+-->
+
+
+<polymer-element name="polymer-selection" attributes="multi" assetpath="../polymer-selection/">
+ <template>
+ <style>
+ :host {
+ display: none !important;
+ }
+ </style>
+ </template>
+
+</polymer-element>
+
+<!--
+Copyright 2013 The Polymer Authors. All rights reserved.
+Use of this source code is governed by a BSD-style
+license that can be found in the LICENSE file.
+-->
+<!--
+/**
+ * @module Polymer Elements
+ */
+/**
+ * polymer-selector is used to manage a list of elements that can be selected.
+ * The attribute "selected" indicates which item element is being selected.
+ * The attribute "multi" indicates if multiple items can be selected at once.
+ * Tapping on the item element would fire "polymer-activate" event. Use
+ * "polymer-select" event to listen for selection changes.
+ *
+ * Example:
+ *
+ * <polymer-selector selected="0">
+ * <div>Item 1</div>
+ * <div>Item 2</div>
+ * <div>Item 3</div>
+ * </polymer-selector>
+ *
+ * polymer-selector is not styled. So one needs to use "polymer-selected" CSS
+ * class to style the selected element.
+ *
+ * <style>
+ * .item.polymer-selected {
+ * background: #eee;
+ * }
+ * </style>
+ * ...
+ * <polymer-selector>
+ * <div class="item">Item 1</div>
+ * <div class="item">Item 2</div>
+ * <div class="item">Item 3</div>
+ * </polymer-selector>
+ *
+ * @class polymer-selector
+ * @status stable
+ */
+/**
+ * Fired when an item's selection state is changed. This event is fired both
+ * when an item is selected or deselected. The `isSelected` detail property
+ * contains the selection state.
+ *
+ * @event polymer-select
+ * @param {Object} detail
+ * @param {boolean} detail.isSelected true for selection and false for deselection
+ * @param {Object} detail.item the item element
+ */
+/**
+ * Fired when an item element is tapped.
+ *
+ * @event polymer-activate
+ * @param {Object} detail
+ * @param {Object} detail.item the item element
+ */
+-->
+
+
+
+<polymer-element name="polymer-selector" attributes="selected multi valueattr selectedClass selectedProperty selectedAttribute selectedItem selectedModel selectedIndex notap target itemsSelector activateEvent" assetpath="../polymer-selector/">
+ <template>
+ <polymer-selection id="selection" multi="{{multi}}" on-polymer-select="{{selectionSelect}}"></polymer-selection>
+ <content id="items" select="*"></content>
+ </template>
+
+</polymer-element>
+<!-- WARNING: DO NOT modify polymer-elements.html/polymer-elements.js. They
+ are automatically generated from polymer-elements.in.html using
+ vulcanize.py. -->
+
+<!-- Include all library elements here that should be vulcanized down to a
+ single html/js file. -->
+
+
+<script src="polymer-elements.js"></script>
+
diff --git a/third_party/polymer/vulcanized/polymer-elements.in.html b/third_party/polymer/vulcanized/polymer-elements.in.html
new file mode 100644
index 0000000000..71ee5a5a43
--- /dev/null
+++ b/third_party/polymer/vulcanized/polymer-elements.in.html
@@ -0,0 +1,7 @@
+<!-- WARNING: DO NOT modify polymer-elements.html/polymer-elements.js. They
+ are automatically generated from polymer-elements.in.html using
+ vulcanize.py. -->
+
+<!-- Include all library elements here that should be vulcanized down to a
+ single html/js file. -->
+<link rel="import" href="../polymer-selector/polymer-selector.html">
diff --git a/third_party/polymer/vulcanized/polymer-elements.js b/third_party/polymer/vulcanized/polymer-elements.js
new file mode 100644
index 0000000000..e075460994
--- /dev/null
+++ b/third_party/polymer/vulcanized/polymer-elements.js
@@ -0,0 +1,435 @@
+
+
+ // upgrade polymer-body last so that it can contain other imported elements
+ document.addEventListener('polymer-ready', function() {
+
+ Polymer('polymer-body', Platform.mixin({
+
+ created: function() {
+ this.template = document.createElement('template');
+ var body = wrap(document).body;
+ var c$ = body.childNodes.array();
+ for (var i=0, c; (c=c$[i]); i++) {
+ if (c.localName !== 'script') {
+ this.template.content.appendChild(c);
+ }
+ }
+ // snarf up user defined model
+ window.model = this;
+ },
+
+ parseDeclaration: function(elementElement) {
+ this.lightFromTemplate(this.template);
+ }
+
+ }, window.model));
+
+ });
+
+ ;
+/**
+ * @license
+ * Copyright (c) 2012-2014 The Polymer Authors. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+// @version: 0.2.2
+Polymer={},"function"==typeof window.Polymer&&(Polymer={}),function(a){function b(a,b){return a&&b&&Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&(Object.defineProperty(a,c,d),"function"==typeof d.value&&(d.value.nom=c))}),a}a.extend=b}(Polymer),function(a){function b(a,b,d){return a?a.stop():a=new c(this),a.go(b,d),a}var c=function(a){this.context=a,this.boundComplete=this.complete.bind(this)};c.prototype={go:function(a,b){this.callback=a;var c;b?(c=setTimeout(this.boundComplete,b),this.handle=function(){clearTimeout(c)}):(c=requestAnimationFrame(this.boundComplete),this.handle=function(){cancelAnimationFrame(c)})},stop:function(){this.handle&&(this.handle(),this.handle=null)},complete:function(){this.handle&&(this.stop(),this.callback.call(this.context))}},a.job=b}(Polymer),function(){var a={};HTMLElement.register=function(b,c){a[b]=c},HTMLElement.getPrototypeForTag=function(b){var c=b?a[b]:HTMLElement.prototype;return c||Object.getPrototypeOf(document.createElement(b))};var b=Event.prototype.stopPropagation;Event.prototype.stopPropagation=function(){this.cancelBubble=!0,b.apply(this,arguments)}}(Polymer),function(a){function b(a){var c=b.caller,g=c.nom,h=c._super;if(h||(g||(g=c.nom=e.call(this,c)),g||console.warn("called super() on a method not installed declaratively (has no .nom property)"),h=d(c,g,f(this))),h){var i=h[g];return i._super||d(i,g,h),i.apply(this,a||[])}}function c(a,b,c){for(;a;){if(a[b]!==c&&a[b])return a;a=f(a)}}function d(a,b,d){return a._super=c(d,b,a),a._super&&(a._super[b].nom=b),a._super}function e(a){for(var b=this.__proto__;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){var g=Object.getOwnPropertyDescriptor(b,c);if("function"==typeof g.value&&g.value===a)return c}b=b.__proto__}}function f(a){return a.__proto__}a.super=b}(Polymer),function(a){function b(a,b){var d=typeof b;return b instanceof Date&&(d="date"),c[d](a,b)}var c={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return 0===b&&(b=parseInt(a)),isNaN(b)?a:b},object:function(a,b){if(null===b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}},"function":function(a,b){return b}};a.deserializeValue=b}(Polymer),function(a){var b=a.extend,c={};c.declaration={},c.instance={},c.publish=function(a,c){for(var d in a)b(c,a[d])},a.api=c}(Polymer),function(a){var b={async:function(a,b,c){Platform.flush(),b=b&&b.length?b:[b];var d=function(){(this[a]||a).apply(this,b)}.bind(this),e=c?setTimeout(d,c):requestAnimationFrame(d);return c?e:~e},cancelAsync:function(a){0>a?cancelAnimationFrame(~a):clearTimeout(a)},fire:function(a,b,c,d,e){var f=c||this,b=b||{},g=new CustomEvent(a,{bubbles:void 0!==d?d:!0,cancelable:void 0!==e?e:!0,detail:b});return f.dispatchEvent(g),g},asyncFire:function(){this.async("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}},c=function(){},d={};b.asyncMethod=b.async,a.api.instance.utils=b,a.nop=c,a.nob=d}(Polymer),function(a){var b=window.logFlags||{},c="on-",d={EVENT_PREFIX:c,addHostListeners:function(){var a=this.eventDelegates;b.events&&Object.keys(a).length>0&&console.log("[%s] addHostListeners:",this.localName,a);var d,e,f=this;for(var g in a)e=c+g,(d=PolymerExpressions.prepareEventBinding(Path.get(a[g]),e,{resolveEventHandler:function(a,b){var c=b.getValueFrom(f);return c?c.bind(f):void 0}}))(this,this,!1)},dispatchMethod:function(a,c,d){if(a){b.events&&console.group("[%s] dispatch [%s]",a.localName,c);var e="function"==typeof c?c:a[c];e&&e[d?"apply":"call"](a,d),b.events&&console.groupEnd(),Platform.flush()}}};a.api.instance.events=d}(Polymer),function(a){var b={copyInstanceAttributes:function(){var a=this._instanceAttributes;for(var b in a)this.hasAttribute(b)||this.setAttribute(b,a[b])},takeAttributes:function(){if(this._publishLC)for(var a,b=0,c=this.attributes,d=c.length;(a=c[b])&&d>b;b++)this.attributeToProperty(a.name,a.value)},attributeToProperty:function(b,c){var b=this.propertyForAttribute(b);if(b){if(c&&c.search(a.bindPattern)>=0)return;var d=this[b],c=this.deserializeValue(c,d);c!==d&&(this[b]=c)}},propertyForAttribute:function(a){var b=this._publishLC&&this._publishLC[a];return b},deserializeValue:function(b,c){return a.deserializeValue(b,c)},serializeValue:function(a,b){return"boolean"===b?a?"":void 0:"object"!==b&&"function"!==b&&void 0!==a?a:void 0},reflectPropertyToAttribute:function(a){var b=typeof this[a],c=this.serializeValue(this[a],b);void 0!==c?this.setAttribute(a,c):"boolean"===b&&this.removeAttribute(a)}};a.api.instance.attributes=b}(Polymer),function(a){function b(a,b,d){c.bind&&console.log(e,inB.localName||"object",inPath,a.localName,b);var f=d.discardChanges();return(null===f||void 0===f)&&d.setValue(a[b]),Observer.defineComputedProperty(a,b,d)}var c=window.logFlags||{},d={observeProperties:function(){var a=this._observeNames,b=this._publishNames;if(a&&a.length||b&&b.length){var c=this._propertyObserver=new CompoundObserver;this.registerObservers([c]);for(var d,e=0,f=a.length;f>e&&(d=a[e]);e++){c.addPath(this,d);var g=Object.getOwnPropertyDescriptor(this.__proto__,d);g&&g.value&&this.observeArrayValue(d,g.value,null)}for(var d,e=0,f=b.length;f>e&&(d=b[e]);e++)this.observe&&void 0!==this.observe[d]||c.addPath(this,d);c.open(this.notifyPropertyChanges,this)}},notifyPropertyChanges:function(a,b,c){var d,e,f={};for(var g in b)d=c[2*g+1],void 0!==this.publish[d]&&this.reflectPropertyToAttribute(d),e=this.observe[d],e&&(this.observeArrayValue(d,a[g],b[g]),f[e]||(f[e]=!0,this.invokeMethod(e,[b[g],a[g],arguments])))},observeArrayValue:function(a,b,d){var e=this.observe[a];if(e&&(Array.isArray(d)&&(c.observe&&console.log("[%s] observeArrayValue: unregister observer [%s]",this.localName,a),this.closeNamedObserver(a+"__array")),Array.isArray(b))){c.observe&&console.log("[%s] observeArrayValue: register observer [%s]",this.localName,a,b);var f=new ArrayObserver(b);f.open(function(a,b){this.invokeMethod(e,[b])},this),this.registerNamedObserver(a+"__array",f)}},bindProperty:function(a,c){return b(this,a,c)},invokeMethod:function(a,b){var c=this[a]||a;"function"==typeof c&&c.apply(this,b)},registerObservers:function(a){this._observers.push(a)},closeObservers:function(){for(var a=0,b=this._observers.length;b>a;a++)this.closeObserverArray(this._observers[a]);this._observers=[]},closeObserverArray:function(a){for(var b,c=0,d=a.length;d>c;c++)b=a[c],b&&b.close&&b.close()},registerNamedObserver:function(a,b){var c=this._namedObservers||(this._namedObservers={});c[a]=b},closeNamedObserver:function(a){var b=this._namedObservers;return b&&b[a]?(b[a].close(),b[a]=null,!0):void 0},closeNamedObservers:function(){if(this._namedObservers){for(var a,b,c=Object.keys(this._namedObservers),d=0,e=c.length;e>d&&(a=c[d]);d++)b=this._namedObservers[a],b.close();this._namedObservers={}}}},e="[%s]: bindProperties: [%s] to [%s].[%s]";a.api.instance.properties=d}(Polymer),function(a){function b(a){for(;a.parentNode;){if(a.lightDomController)return a;a=a.parentNode}return a.host}var c=window.logFlags||0,d=(a.api.instance.events,new PolymerExpressions);d.resolveEventHandler=function(a,c,d){var e=b(d);if(e){var f=c.getValueFrom(e);if(f)return f.bind(e)}};var e={syntax:d,instanceTemplate:function(a){var b=a.createInstance(this,this.syntax);return this.registerObservers(b.bindings_),b},bind:function(a,b){var c=this.propertyForAttribute(a);if(c){var d=this.bindProperty(c,b);return this.reflectPropertyToAttribute(c),Platform.enableBindingsReflection&&(d.path=b.path_,this.bindings_=this.bindings_||{},this.bindings_[a]=d),d}return this.mixinSuper(arguments)},asyncUnbindAll:function(){this._unbound||(c.unbind&&console.log("[%s] asyncUnbindAll",this.localName),this._unbindAllJob=this.job(this._unbindAllJob,this.unbindAll,0))},unbindAll:function(){this._unbound||(this.closeObservers(),this.closeNamedObservers(),this._unbound=!0)},cancelUnbindAll:function(){return this._unbound?void(c.unbind&&console.warn("[%s] already unbound, cannot cancel unbindAll",this.localName)):(c.unbind&&console.log("[%s] cancelUnbindAll",this.localName),void(this._unbindAllJob&&(this._unbindAllJob=this._unbindAllJob.stop())))}},f=/\{\{([^{}]*)}}/;a.bindPattern=f,a.api.instance.mdv=e}(Polymer),function(a){function b(a){return a.hasOwnProperty("PolymerBase")}function c(){}var d={PolymerBase:!0,job:function(a,b,c){if("string"!=typeof a)return Polymer.job.call(this,a,b,c);var d="___"+a;this[d]=Polymer.job.call(this,this[d],b,c)},"super":Polymer.super,created:function(){},ready:function(){},createdCallback:function(){this.templateInstance&&console.warn("Attributes on "+this.localName+" were data bound prior to Polymer upgrading the element. This may result in incorrect binding types."),this.created(),this.prepareElement()},prepareElement:function(){this._elementPrepared=!0,this.shadowRoots={},this._observers=[],this.observeProperties(),this.copyInstanceAttributes(),this.takeAttributes(),this.addHostListeners(),this.parseDeclarations(this.__proto__),this.removeAttribute("unresolved"),this.ready()},attachedCallback:function(){this.cancelUnbindAll(),this.attached&&this.attached(),this.enteredView&&this.enteredView(),this.hasBeenAttached||(this.hasBeenAttached=!0,this.domReady&&this.async("domReady"))},detachedCallback:function(){this.preventDispose||this.asyncUnbindAll(),this.detached&&this.detached(),this.leftView&&this.leftView()},enteredViewCallback:function(){this.attachedCallback()},leftViewCallback:function(){this.detachedCallback()},enteredDocumentCallback:function(){this.attachedCallback()},leftDocumentCallback:function(){this.detachedCallback()},parseDeclarations:function(a){a&&a.element&&(this.parseDeclarations(a.__proto__),a.parseDeclaration.call(this,a.element))},parseDeclaration:function(a){var b=this.fetchTemplate(a);if(b){var c=this.shadowFromTemplate(b);this.shadowRoots[a.name]=c}},fetchTemplate:function(a){return a.querySelector("template")},shadowFromTemplate:function(a){if(a){var b=this.createShadowRoot(),c=this.instanceTemplate(a);return b.appendChild(c),this.shadowRootReady(b,a),b}},lightFromTemplate:function(a,b){if(a){this.lightDomController=!0;var c=this.instanceTemplate(a);return b?this.insertBefore(c,b):this.appendChild(c),this.shadowRootReady(this),c}},shadowRootReady:function(a){this.marshalNodeReferences(a),PointerGestures.register(a)},marshalNodeReferences:function(a){var b=this.$=this.$||{};if(a)for(var c,d=a.querySelectorAll("[id]"),e=0,f=d.length;f>e&&(c=d[e]);e++)b[c.id]=c},attributeChangedCallback:function(a){"class"!==a&&"style"!==a&&this.attributeToProperty(a,this.getAttribute(a)),this.attributeChanged&&this.attributeChanged.apply(this,arguments)},onMutation:function(a,b){var c=new MutationObserver(function(a){b.call(this,c,a),c.disconnect()}.bind(this));c.observe(a,{childList:!0,subtree:!0})}};c.prototype=d,d.constructor=c,a.Base=c,a.isBase=b,a.api.instance.base=d}(Polymer),function(a){function b(a){return a.__proto__}function c(a,b){var c="",d=!1;b&&(c=b.localName,d=b.hasAttribute("is"));var e=Platform.ShadowCSS.makeScopeSelector(c,d);return Platform.ShadowCSS.shimCssText(a,e)}var d=(window.logFlags||{},"element"),e="controller",f={STYLE_SCOPE_ATTRIBUTE:d,installControllerStyles:function(){var a=this.findStyleScope();if(a&&!this.scopeHasNamedStyle(a,this.localName)){for(var c=b(this),d="";c&&c.element;)d+=c.element.cssTextForScope(e),c=b(c);d&&this.installScopeCssText(d,a)}},installScopeStyle:function(a,b,c){var c=c||this.findStyleScope(),b=b||"";if(c&&!this.scopeHasNamedStyle(c,this.localName+b)){var d="";if(a instanceof Array)for(var e,f=0,g=a.length;g>f&&(e=a[f]);f++)d+=e.textContent+"\n\n";else d=a.textContent;this.installScopeCssText(d,c,b)}},installScopeCssText:function(a,b,d){if(b=b||this.findStyleScope(),d=d||"",b){window.ShadowDOMPolyfill&&(a=c(a,b.host));var f=this.element.cssTextToScopeStyle(a,e);Polymer.applyStyleToScope(f,b),b._scopeStyles[this.localName+d]=!0}},findStyleScope:function(a){for(var b=a||this;b.parentNode;)b=b.parentNode;return b},scopeHasNamedStyle:function(a,b){return a._scopeStyles=a._scopeStyles||{},a._scopeStyles[b]}};a.api.instance.styles=f}(Polymer),function(a){function b(a,b){if(1===arguments.length&&"string"!=typeof arguments[0]){b=a;var c=document._currentScript;if(a=c&&c.parentNode&&c.parentNode.getAttribute?c.parentNode.getAttribute("name"):"",!a)throw"Element name could not be inferred."}if(f[a])throw"Already registered (Polymer) prototype for element "+a;e(a,b),d(a)}function c(a,b){h[a]=b}function d(a){h[a]&&(h[a].registerWhenReady(),delete h[a])}function e(a,b){return i[a]=b||{}}function f(a){return i[a]}var g=a.extend,h=(a.api,{}),i={};a.getRegisteredPrototype=f,a.waitingForPrototype=c,window.Polymer=b,g(Polymer,a);var j=Platform.deliverDeclarations();if(j)for(var k,l=0,m=j.length;m>l&&(k=j[l]);l++)b.apply(null,k)}(Polymer),function(a){var b={resolveElementPaths:function(a){Platform.urlResolver.resolveDom(a)},addResolvePathApi:function(){var a=this.getAttribute("assetpath")||"",b=new URL(a,this.ownerDocument.baseURI);this.prototype.resolvePath=function(a,c){var d=new URL(a,c||b);return d.href}}};a.api.declaration.path=b}(Polymer),function(a){function b(a,b){var c=new URL(a.getAttribute("href"),b).href;return"@import '"+c+"';"}function c(a,b){if(a){b===document&&(b=document.head),window.ShadowDOMPolyfill&&(b=document.head);var c=d(a.textContent),e=a.getAttribute(h);e&&c.setAttribute(h,e);var f=b.firstElementChild;if(b===document.head){var g="style["+h+"]",i=document.head.querySelectorAll(g);i.length&&(f=i[i.length-1].nextElementSibling)}b.insertBefore(c,f)}}function d(a,b){b=b||document,b=b.createElement?b:b.ownerDocument;var c=b.createElement("style");return c.textContent=a,c}function e(a){return a&&a.__resource||""}function f(a,b){return p?p.call(a,b):void 0}var g=(window.logFlags||{},a.api.instance.styles),h=g.STYLE_SCOPE_ATTRIBUTE,i="style",j="@import",k="link[rel=stylesheet]",l="global",m="polymer-scope",n={loadStyles:function(a){var b=this.templateContent();b&&this.convertSheetsToStyles(b);var c=this.findLoadableStyles(b);c.length?Platform.styleResolver.loadStyles(c,a):a&&a()},convertSheetsToStyles:function(a){for(var c,e,f=a.querySelectorAll(k),g=0,h=f.length;h>g&&(c=f[g]);g++)e=d(b(c,this.ownerDocument.baseURI),this.ownerDocument),this.copySheetAttributes(e,c),c.parentNode.replaceChild(e,c)},copySheetAttributes:function(a,b){for(var c,d=0,e=b.attributes,f=e.length;(c=e[d])&&f>d;d++)"rel"!==c.name&&"href"!==c.name&&a.setAttribute(c.name,c.value)},findLoadableStyles:function(a){var b=[];if(a)for(var c,d=a.querySelectorAll(i),e=0,f=d.length;f>e&&(c=d[e]);e++)c.textContent.match(j)&&b.push(c);return b},installSheets:function(){this.cacheSheets(),this.cacheStyles(),this.installLocalSheets(),this.installGlobalStyles()},cacheSheets:function(){this.sheets=this.findNodes(k),this.sheets.forEach(function(a){a.parentNode&&a.parentNode.removeChild(a)})},cacheStyles:function(){this.styles=this.findNodes(i+"["+m+"]"),this.styles.forEach(function(a){a.parentNode&&a.parentNode.removeChild(a)})},installLocalSheets:function(){var a=this.sheets.filter(function(a){return!a.hasAttribute(m)}),b=this.templateContent();if(b){var c="";if(a.forEach(function(a){c+=e(a)+"\n"}),c){var f=d(c,this.ownerDocument);b.insertBefore(f,b.firstChild)}}},findNodes:function(a,b){var c=this.querySelectorAll(a).array(),d=this.templateContent();if(d){var e=d.querySelectorAll(a).array();c=c.concat(e)}return b?c.filter(b):c},templateContent:function(){var a=this.querySelector("template");return a&&templateContent(a)},installGlobalStyles:function(){var a=this.styleForScope(l);c(a,document.head)},cssTextForScope:function(a){var b="",c="["+m+"="+a+"]",d=function(a){return f(a,c)},g=this.sheets.filter(d);g.forEach(function(a){b+=e(a)+"\n\n"});var h=this.styles.filter(d);return h.forEach(function(a){b+=a.textContent+"\n\n"}),b},styleForScope:function(a){var b=this.cssTextForScope(a);return this.cssTextToScopeStyle(b,a)},cssTextToScopeStyle:function(a,b){if(a){var c=d(a);return c.setAttribute(h,this.getAttribute("name")+"-"+b),c}}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector;a.api.declaration.styles=n,a.applyStyleToScope=c}(Polymer),function(a){var b=(window.logFlags||{},a.api.instance.events),c=b.EVENT_PREFIX,d={parseHostEvents:function(){var a=this.prototype.eventDelegates;this.addAttributeDelegates(a)},addAttributeDelegates:function(a){for(var b,c=0;b=this.attributes[c];c++)this.hasEventPrefix(b.name)&&(a[this.removeEventPrefix(b.name)]=b.value.replace("{{","").replace("}}","").trim())},hasEventPrefix:function(a){return a&&"o"===a[0]&&"n"===a[1]&&"-"===a[2]},removeEventPrefix:function(a){return a.slice(e)}},e=c.length;a.api.declaration.events=d}(Polymer),function(a){var b={inferObservers:function(a){var b,c=a.observe;for(var d in a)"Changed"===d.slice(-7)&&(c||(c=a.observe={}),b=d.slice(0,-7),c[b]=c[b]||d)},explodeObservers:function(a){var b=a.observe;if(b){var c={};for(var d in b)for(var e,f=d.split(" "),g=0;e=f[g];g++)c[e]=b[d];a.observe=c}},optimizePropertyMaps:function(a){if(a.observe){var b=a._observeNames=[];for(var c in a.observe)for(var d,e=c.split(" "),f=0;d=e[f];f++)b.push(d)}if(a.publish){var b=a._publishNames=[];for(var c in a.publish)b.push(c)}},publishProperties:function(a,b){var c=a.publish;c&&(this.requireProperties(c,a,b),a._publishLC=this.lowerCaseMap(c))},requireProperties:function(a,b,c){for(var d in a)void 0===b[d]&&void 0===c[d]&&(b[d]=a[d])},lowerCaseMap:function(a){var b={};for(var c in a)b[c.toLowerCase()]=c;return b}};a.api.declaration.properties=b}(Polymer),function(a){var b="attributes",c=/\s|,/,d={inheritAttributesObjects:function(a){this.inheritObject(a,"publishLC"),this.inheritObject(a,"_instanceAttributes")},publishAttributes:function(a,d){var e=this.getAttribute(b);if(e)for(var f,g=a.publish||(a.publish={}),h=e.split(c),i=0,j=h.length;j>i;i++)f=h[i].trim(),f&&void 0===g[f]&&void 0===d[f]&&(g[f]=null)},accumulateInstanceAttributes:function(){for(var a,b=this.prototype._instanceAttributes,c=this.attributes,d=0,e=c.length;e>d&&(a=c[d]);d++)this.isInstanceAttribute(a.name)&&(b[a.name]=a.value)},isInstanceAttribute:function(a){return!this.blackList[a]&&"on-"!==a.slice(0,3)},blackList:{name:1,"extends":1,constructor:1,noscript:1,assetpath:1,"cache-csstext":1}};d.blackList[b]=1,a.api.declaration.attributes=d}(Polymer),function(a){function b(a){if(!Object.__proto__){var b=Object.getPrototypeOf(a);a.__proto__=b,d(b)&&(b.__proto__=Object.getPrototypeOf(b))}}var c=a.api,d=a.isBase,e=a.extend,f={register:function(a,b){this.buildPrototype(a,b),this.registerPrototype(a,b),this.publishConstructor()},buildPrototype:function(b,c){var d=a.getRegisteredPrototype(b),e=this.generateBasePrototype(c);this.desugarBeforeChaining(d,e),this.prototype=this.chainPrototypes(d,e),this.desugarAfterChaining(b,c)},desugarBeforeChaining:function(a,b){a.element=this,this.publishAttributes(a,b),this.publishProperties(a,b),this.inferObservers(a),this.explodeObservers(a)},chainPrototypes:function(a,c){this.inheritMetaData(a,c);var d=this.chainObject(a,c);return b(d),d},inheritMetaData:function(a,b){this.inheritObject("observe",a,b),this.inheritObject("publish",a,b),this.inheritObject("_publishLC",a,b),this.inheritObject("_instanceAttributes",a,b),this.inheritObject("eventDelegates",a,b)},desugarAfterChaining:function(a,b){this.optimizePropertyMaps(this.prototype),this.installSheets(),this.resolveElementPaths(this),this.accumulateInstanceAttributes(),this.parseHostEvents(),this.addResolvePathApi(),window.ShadowDOMPolyfill&&Platform.ShadowCSS.shimStyling(this.templateContent(),a,b),this.prototype.registerCallback&&this.prototype.registerCallback(this)},publishConstructor:function(){var a=this.getAttribute("constructor");a&&(window[a]=this.ctor)},generateBasePrototype:function(a){var b=this.findBasePrototype(a);if(!b){var b=HTMLElement.getPrototypeForTag(a);b=this.ensureBaseApi(b),g[a]=b}return b},findBasePrototype:function(a){return g[a]},ensureBaseApi:function(a){if(a.PolymerBase)return a;var b=Object.create(a);return c.publish(c.instance,b),this.mixinMethod(b,a,c.instance.mdv,"bind"),b},mixinMethod:function(a,b,c,d){var e=function(a){return b[d].apply(this,a)};a[d]=function(){return this.mixinSuper=e,c[d].apply(this,arguments)}},inheritObject:function(a,b,c){var d=b[a]||{};b[a]=this.chainObject(d,c[a])},registerPrototype:function(a,b){var c={prototype:this.prototype},d=this.findTypeExtension(b);d&&(c.extends=d),HTMLElement.register(a,this.prototype),this.ctor=document.registerElement(a,c)},findTypeExtension:function(a){if(a&&a.indexOf("-")<0)return a;var b=this.findBasePrototype(a);return b.element?this.findTypeExtension(b.element.extends):void 0}},g={};f.chainObject=Object.__proto__?function(a,b){return a&&b&&a!==b&&(a.__proto__=b),a}:function(a,b){if(a&&b&&a!==b){var c=Object.create(b);a=e(c,a)}return a},c.declaration.prototype=f}(Polymer),function(a){function b(a){return document.contains(a)?g:f}function c(){return f.length?f[0]:g[0]}function d(a){e.waitToReady=!0,CustomElements.ready=!1,HTMLImports.whenImportsReady(function(){e.addReadyCallback(a),e.waitToReady=!1,e.check()})}var e={wait:function(a,b,c){return-1===this.indexOf(a)&&(this.add(a),a.__check=b,a.__go=c),0!==this.indexOf(a)},add:function(a){b(a).push(a)},indexOf:function(a){var c=b(a).indexOf(a);return c>=0&&document.contains(a)&&(c+=HTMLImports.useNative||HTMLImports.ready?f.length:1e9),c},go:function(a){var b=this.remove(a);b&&(b.__go.call(b),b.__check=b.__go=null,this.check())},remove:function(a){var c=this.indexOf(a);if(0===c)return b(a).shift()},check:function(){var a=this.nextElement();return a&&a.__check.call(a),this.canReady()?(this.ready(),!0):void 0},nextElement:function(){return c()},canReady:function(){return!this.waitToReady&&this.isEmpty()},isEmpty:function(){return!f.length&&!g.length},ready:function(){if(CustomElements.ready===!1&&(CustomElements.upgradeDocumentTree(document),CustomElements.ready=!0),h)for(var a;h.length;)(a=h.shift())()},addReadyCallback:function(a){a&&h.push(a)},waitToReady:!0},f=[],g=[],h=[];document.addEventListener("WebComponentsReady",function(){CustomElements.ready=!1}),a.queue=e,a.whenPolymerReady=d}(Polymer),function(a){function b(a,b){a?(document.head.appendChild(a),d(b)):b&&b()}function c(a,c){if(a&&a.length){for(var d,e,f=document.createDocumentFragment(),g=0,h=a.length;h>g&&(d=a[g]);g++)e=document.createElement("link"),e.rel="import",e.href=d,f.appendChild(e);b(f,c)}else c&&c()}var d=a.whenPolymerReady;a.import=c,a.importElements=b}(Polymer),function(a){function b(a){return Boolean(HTMLElement.getPrototypeForTag(a))}function c(a){return a&&a.indexOf("-")>=0}var d=a.extend,e=a.api,f=a.queue,g=a.whenPolymerReady,h=a.getRegisteredPrototype,i=a.waitingForPrototype,j=d(Object.create(HTMLElement.prototype),{createdCallback:function(){this.getAttribute("name")&&this.init()},init:function(){this.name=this.getAttribute("name"),this.extends=this.getAttribute("extends"),this.loadResources(),this.registerWhenReady()},registerWhenReady:function(){this.registered||this.waitingForPrototype(this.name)||this.waitingForQueue()||this.waitingForResources()||f.go(this)},_register:function(){c(this.extends)&&!b(this.extends)&&console.warn("%s is attempting to extend %s, an unregistered element or one that was not registered with Polymer.",this.name,this.extends),this.register(this.name,this.extends),this.registered=!0},waitingForPrototype:function(a){return h(a)?void 0:(i(a,this),this.handleNoScript(a),!0)},handleNoScript:function(a){if(this.hasAttribute("noscript")&&!this.noscript)if(this.noscript=!0,window.CustomElements&&!CustomElements.useNative)Polymer(a);else{var b=document.createElement("script");b.textContent="Polymer('"+a+"');",this.appendChild(b)}},waitingForResources:function(){return this._needsResources},waitingForQueue:function(){return f.wait(this,this.registerWhenReady,this._register)},loadResources:function(){this._needsResources=!0,this.loadStyles(function(){this._needsResources=!1,this.registerWhenReady()}.bind(this))}});e.publish(e.declaration,j),a.getRegisteredPrototype=h,g(function(){document.body.removeAttribute("unresolved"),document.dispatchEvent(new CustomEvent("polymer-ready",{bubbles:!0}))}),document.registerElement("polymer-element",{prototype:j})}(Polymer);
+//# sourceMappingURL=polymer.js.map;
+
+ Polymer('polymer-selection', {
+ /**
+ * If true, multiple selections are allowed.
+ *
+ * @attribute multi
+ * @type boolean
+ * @default false
+ */
+ multi: false,
+ ready: function() {
+ this.clear();
+ },
+ clear: function() {
+ this.selection = [];
+ },
+ /**
+ * Retrieves the selected item(s).
+ * @method getSelection
+ * @returns Returns the selected item(s). If the multi property is true,
+ * getSelection will return an array, otherwise it will return
+ * the selected item or undefined if there is no selection.
+ */
+ getSelection: function() {
+ return this.multi ? this.selection : this.selection[0];
+ },
+ /**
+ * Indicates if a given item is selected.
+ * @method isSelected
+ * @param {any} item The item whose selection state should be checked.
+ * @returns Returns true if `item` is selected.
+ */
+ isSelected: function(item) {
+ return this.selection.indexOf(item) >= 0;
+ },
+ setItemSelected: function(item, isSelected) {
+ if (item !== undefined && item !== null) {
+ if (isSelected) {
+ this.selection.push(item);
+ } else {
+ var i = this.selection.indexOf(item);
+ if (i >= 0) {
+ this.selection.splice(i, 1);
+ }
+ }
+ this.fire("polymer-select", {isSelected: isSelected, item: item});
+ }
+ },
+ /**
+ * Set the selection state for a given `item`. If the multi property
+ * is true, then the selected state of `item` will be toggled; otherwise
+ * the `item` will be selected.
+ * @method select
+ * @param {any} item: The item to select.
+ */
+ select: function(item) {
+ if (this.multi) {
+ this.toggle(item);
+ } else if (this.getSelection() !== item) {
+ this.setItemSelected(this.getSelection(), false);
+ this.setItemSelected(item, true);
+ }
+ },
+ /**
+ * Toggles the selection state for `item`.
+ * @method toggle
+ * @param {any} item: The item to toggle.
+ */
+ toggle: function(item) {
+ this.setItemSelected(item, !this.isSelected(item));
+ }
+ });
+ ;
+
+ Polymer('polymer-selector', {
+ /**
+ * Gets or sets the selected element. Default to use the index
+ * of the item element.
+ *
+ * If you want a specific attribute value of the element to be
+ * used instead of index, set "valueattr" to that attribute name.
+ *
+ * Example:
+ *
+ * <polymer-selector valueattr="label" selected="foo">
+ * <div label="foo"></div>
+ * <div label="bar"></div>
+ * <div label="zot"></div>
+ * </polymer-selector>
+ *
+ * In multi-selection this should be an array of values.
+ *
+ * Example:
+ *
+ * <polymer-selector id="selector" valueattr="label" multi>
+ * <div label="foo"></div>
+ * <div label="bar"></div>
+ * <div label="zot"></div>
+ * </polymer-selector>
+ *
+ * this.$.selector.selected = ['foo', 'zot'];
+ *
+ * @attribute selected
+ * @type Object
+ * @default null
+ */
+ selected: null,
+ /**
+ * If true, multiple selections are allowed.
+ *
+ * @attribute multi
+ * @type boolean
+ * @default false
+ */
+ multi: false,
+ /**
+ * Specifies the attribute to be used for "selected" attribute.
+ *
+ * @attribute valueattr
+ * @type string
+ * @default 'name'
+ */
+ valueattr: 'name',
+ /**
+ * Specifies the CSS class to be used to add to the selected element.
+ *
+ * @attribute selectedClass
+ * @type string
+ * @default 'polymer-selected'
+ */
+ selectedClass: 'polymer-selected',
+ /**
+ * Specifies the property to be used to set on the selected element
+ * to indicate its active state.
+ *
+ * @attribute selectedProperty
+ * @type string
+ * @default ''
+ */
+ selectedProperty: '',
+ /**
+ * Specifies the property to be used to set on the selected element
+ * to indicate its active state.
+ *
+ * @attribute selectedProperty
+ * @type string
+ * @default 'active'
+ */
+ selectedAttribute: 'active',
+ /**
+ * Returns the currently selected element. In multi-selection this returns
+ * an array of selected elements.
+ *
+ * @attribute selectedItem
+ * @type Object
+ * @default null
+ */
+ selectedItem: null,
+ /**
+ * In single selection, this returns the model associated with the
+ * selected element.
+ *
+ * @attribute selectedModel
+ * @type Object
+ * @default null
+ */
+ selectedModel: null,
+ /**
+ * In single selection, this returns the selected index.
+ *
+ * @attribute selectedIndex
+ * @type number
+ * @default -1
+ */
+ selectedIndex: -1,
+ /**
+ * The target element that contains items. If this is not set
+ * polymer-selector is the container.
+ *
+ * @attribute target
+ * @type Object
+ * @default null
+ */
+ target: null,
+ /**
+ * This can be used to query nodes from the target node to be used for
+ * selection items. Note this only works if the 'target' property is set.
+ *
+ * Example:
+ *
+ * <polymer-selector target="{{$.myForm}}" itemsSelector="input[type=radio]"></polymer-selector>
+ * <form id="myForm">
+ * <label><input type="radio" name="color" value="red"> Red</label> <br>
+ * <label><input type="radio" name="color" value="green"> Green</label> <br>
+ * <label><input type="radio" name="color" value="blue"> Blue</label> <br>
+ * <p>color = {{color}}</p>
+ * </form>
+ *
+ * @attribute itemSelector
+ * @type string
+ * @default ''
+ */
+ itemsSelector: '',
+ /**
+ * The event that would be fired from the item element to indicate
+ * it is being selected.
+ *
+ * @attribute activateEvent
+ * @type string
+ * @default 'tap'
+ */
+ activateEvent: 'tap',
+ notap: false,
+ ready: function() {
+ this.activateListener = this.activateHandler.bind(this);
+ this.observer = new MutationObserver(this.updateSelected.bind(this));
+ if (!this.target) {
+ this.target = this;
+ }
+ },
+ get items() {
+ var nodes = this.target !== this ? (this.itemsSelector ?
+ this.target.querySelectorAll(this.itemsSelector) :
+ this.target.children) : this.$.items.getDistributedNodes();
+ return Array.prototype.filter.call(nodes || [], function(n) {
+ return n && n.localName !== 'template';
+ });
+ },
+ targetChanged: function(old) {
+ if (old) {
+ this.removeListener(old);
+ this.observer.disconnect();
+ }
+ if (this.target) {
+ this.addListener(this.target);
+ this.observer.observe(this.target, {childList: true});
+ }
+ },
+ addListener: function(node) {
+ node.addEventListener(this.activateEvent, this.activateListener);
+ },
+ removeListener: function(node) {
+ node.removeEventListener(this.activateEvent, this.activateListener);
+ },
+ get selection() {
+ return this.$.selection.getSelection();
+ },
+ selectedChanged: function() {
+ this.updateSelected();
+ },
+ updateSelected: function() {
+ this.validateSelected();
+ if (this.multi) {
+ this.clearSelection();
+ this.selected && this.selected.forEach(function(s) {
+ this.valueToSelection(s);
+ }, this);
+ } else {
+ this.valueToSelection(this.selected);
+ }
+ },
+ validateSelected: function() {
+ // convert to an array for multi-selection
+ if (this.multi && !Array.isArray(this.selected) &&
+ this.selected !== null && this.selected !== undefined) {
+ this.selected = [this.selected];
+ }
+ },
+ clearSelection: function() {
+ if (this.multi) {
+ this.selection.slice().forEach(function(s) {
+ this.$.selection.setItemSelected(s, false);
+ }, this);
+ } else {
+ this.$.selection.setItemSelected(this.selection, false);
+ }
+ this.selectedItem = null;
+ this.$.selection.clear();
+ },
+ valueToSelection: function(value) {
+ var item = (value === null || value === undefined) ?
+ null : this.items[this.valueToIndex(value)];
+ this.$.selection.select(item);
+ },
+ updateSelectedItem: function() {
+ this.selectedItem = this.selection;
+ },
+ selectedItemChanged: function() {
+ if (this.selectedItem) {
+ var t = this.selectedItem.templateInstance;
+ this.selectedModel = t ? t.model : undefined;
+ } else {
+ this.selectedModel = null;
+ }
+ this.selectedIndex = this.selectedItem ?
+ parseInt(this.valueToIndex(this.selected)) : -1;
+ },
+ valueToIndex: function(value) {
+ // find an item with value == value and return it's index
+ for (var i=0, items=this.items, c; (c=items[i]); i++) {
+ if (this.valueForNode(c) == value) {
+ return i;
+ }
+ }
+ // if no item found, the value itself is probably the index
+ return value;
+ },
+ valueForNode: function(node) {
+ return node[this.valueattr] || node.getAttribute(this.valueattr);
+ },
+ // events fired from <polymer-selection> object
+ selectionSelect: function(e, detail) {
+ this.updateSelectedItem();
+ if (detail.item) {
+ this.applySelection(detail.item, detail.isSelected);
+ }
+ },
+ applySelection: function(item, isSelected) {
+ if (this.selectedClass) {
+ item.classList.toggle(this.selectedClass, isSelected);
+ }
+ if (this.selectedProperty) {
+ item[this.selectedProperty] = isSelected;
+ }
+ if (this.selectedAttribute && item.setAttribute) {
+ if (isSelected) {
+ item.setAttribute(this.selectedAttribute, '');
+ } else {
+ item.removeAttribute(this.selectedAttribute);
+ }
+ }
+ },
+ // event fired from host
+ activateHandler: function(e) {
+ if (!this.notap) {
+ var i = this.findDistributedTarget(e.target, this.items);
+ if (i >= 0) {
+ var item = this.items[i];
+ var s = this.valueForNode(item) || i;
+ if (this.multi) {
+ if (this.selected) {
+ this.addRemoveSelected(s);
+ } else {
+ this.selected = [s];
+ }
+ } else {
+ this.selected = s;
+ }
+ this.asyncFire('polymer-activate', {item: item});
+ }
+ }
+ },
+ addRemoveSelected: function(value) {
+ var i = this.selected.indexOf(value);
+ if (i >= 0) {
+ this.selected.splice(i, 1);
+ } else {
+ this.selected.push(value);
+ }
+ this.valueToSelection(value);
+ },
+ findDistributedTarget: function(target, nodes) {
+ // find first ancestor of target (including itself) that
+ // is in nodes, if any
+ while (target && target != this) {
+ var i = Array.prototype.indexOf.call(nodes, target);
+ if (i >= 0) {
+ return i;
+ }
+ target = target.parentNode;
+ }
+ }
+ });
diff --git a/third_party/polymer/vulcanized/vulcanize.py b/third_party/polymer/vulcanized/vulcanize.py
new file mode 100755
index 0000000000..08aacb2f43
--- /dev/null
+++ b/third_party/polymer/vulcanized/vulcanize.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python2.6
+# Copyright (c) 2014 The Native Client Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import subprocess
+
+# This script vulcanizes all parts of the polymer library that are included in
+# polymer-elements.in.html. This is required because the polymer library is not
+# CSP compliant and Chrome extensions that use polymer have CSP enforced.
+# The vulcanize tool cannot currently be added to the Chrome build which is why
+# this must be run manually when polymer is revved. This script should be re-run
+# whenever we want polymer is updated.
+#
+# See https://code.google.com/p/chromium/issues/detail?id=359333 for more
+# details.
+#
+# Once this script has been run, the entire polymer library will be inside of
+# polymer-elements.html and polymer-elements.js.
+#
+# TODO(raymes): This is ugly. Remove this as soon as we can fix
+# crbug.com/359333.
+
+POLYMER_ELEMENTS_INPUT = "polymer-elements.in.html"
+POLYMER_ELEMENTS_OUTPUT = "polymer-elements.html"
+
+subprocess.call(["vulcanize", "--csp", POLYMER_ELEMENTS_INPUT,
+ "-o", POLYMER_ELEMENTS_OUTPUT]);
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-arm.mk b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-arm.mk
index ba6b6b6492..09a91d21a1 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-arm.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-arm.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -209,10 +210,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-mips.mk b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-mips.mk
index d2f4a03889..9c70f16716 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-mips.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-mips.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -211,10 +212,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86.mk b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86.mk
index ba6b6b6492..09a91d21a1 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -209,10 +210,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86_64.mk b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86_64.mk
index e8934f164f..3cc41cb84a 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86_64.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.darwin-x86_64.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -211,10 +212,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.linux-arm.mk b/third_party/protobuf/protobuf_full_do_not_use.host.linux-arm.mk
index 0e583a8477..8e3728e6e8 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.linux-arm.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.linux-arm.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,10 +214,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.linux-mips.mk b/third_party/protobuf/protobuf_full_do_not_use.host.linux-mips.mk
index 5a472519f4..aea20fadbd 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.linux-mips.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.linux-mips.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -215,10 +216,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86.mk b/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86.mk
index 0e583a8477..8e3728e6e8 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,10 +214,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86_64.mk b/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86_64.mk
index 3bda3c8c93..55e200f829 100644
--- a/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86_64.mk
+++ b/third_party/protobuf/protobuf_full_do_not_use.host.linux-x86_64.mk
@@ -3,12 +3,13 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_host_gyp
+LOCAL_MODULE := third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -215,10 +216,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+gyp_all_modules: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protobuf_full_do_not_use
-protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_host_gyp
+protobuf_full_do_not_use: third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/protobuf/protobuf_lite.target.darwin-arm.mk b/third_party/protobuf/protobuf_lite.target.darwin-arm.mk
index 6406b3c9d8..433ca8c469 100644
--- a/third_party/protobuf/protobuf_lite.target.darwin-arm.mk
+++ b/third_party/protobuf/protobuf_lite.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -248,9 +249,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/protobuf/protobuf_lite.target.darwin-mips.mk b/third_party/protobuf/protobuf_lite.target.darwin-mips.mk
index 93eb37b47b..59dd3ad3d5 100644
--- a/third_party/protobuf/protobuf_lite.target.darwin-mips.mk
+++ b/third_party/protobuf/protobuf_lite.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/protobuf/protobuf_lite.target.darwin-x86.mk b/third_party/protobuf/protobuf_lite.target.darwin-x86.mk
index 04f87665f4..a1df3bb7c8 100644
--- a/third_party/protobuf/protobuf_lite.target.darwin-x86.mk
+++ b/third_party/protobuf/protobuf_lite.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/protobuf/protobuf_lite.target.darwin-x86_64.mk b/third_party/protobuf/protobuf_lite.target.darwin-x86_64.mk
index 60cb1f3e68..0645d801c5 100644
--- a/third_party/protobuf/protobuf_lite.target.darwin-x86_64.mk
+++ b/third_party/protobuf/protobuf_lite.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/protobuf/protobuf_lite.target.linux-arm.mk b/third_party/protobuf/protobuf_lite.target.linux-arm.mk
index 6406b3c9d8..433ca8c469 100644
--- a/third_party/protobuf/protobuf_lite.target.linux-arm.mk
+++ b/third_party/protobuf/protobuf_lite.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -248,9 +249,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/protobuf/protobuf_lite.target.linux-mips.mk b/third_party/protobuf/protobuf_lite.target.linux-mips.mk
index 93eb37b47b..59dd3ad3d5 100644
--- a/third_party/protobuf/protobuf_lite.target.linux-mips.mk
+++ b/third_party/protobuf/protobuf_lite.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/protobuf/protobuf_lite.target.linux-x86.mk b/third_party/protobuf/protobuf_lite.target.linux-x86.mk
index 04f87665f4..a1df3bb7c8 100644
--- a/third_party/protobuf/protobuf_lite.target.linux-x86.mk
+++ b/third_party/protobuf/protobuf_lite.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/protobuf/protobuf_lite.target.linux-x86_64.mk b/third_party/protobuf/protobuf_lite.target.linux-x86_64.mk
index 60cb1f3e68..0645d801c5 100644
--- a/third_party/protobuf/protobuf_lite.target.linux-x86_64.mk
+++ b/third_party/protobuf/protobuf_lite.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_protobuf_protobuf_lite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -229,9 +230,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -246,9 +247,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/protobuf/protoc.host.darwin-arm.mk b/third_party/protobuf/protoc.host.darwin-arm.mk
index 30979811c3..f2ad175e14 100644
--- a/third_party/protobuf/protoc.host.darwin-arm.mk
+++ b/third_party/protobuf/protoc.host.darwin-arm.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -203,7 +204,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -212,11 +213,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.darwin-mips.mk b/third_party/protobuf/protoc.host.darwin-mips.mk
index 3d532f0abc..4a9c5ae0a1 100644
--- a/third_party/protobuf/protoc.host.darwin-mips.mk
+++ b/third_party/protobuf/protoc.host.darwin-mips.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -205,7 +206,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -214,11 +215,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.darwin-x86.mk b/third_party/protobuf/protoc.host.darwin-x86.mk
index 30979811c3..f2ad175e14 100644
--- a/third_party/protobuf/protoc.host.darwin-x86.mk
+++ b/third_party/protobuf/protoc.host.darwin-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -203,7 +204,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -212,11 +213,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.darwin-x86_64.mk b/third_party/protobuf/protoc.host.darwin-x86_64.mk
index c681196c45..3af63263a1 100644
--- a/third_party/protobuf/protoc.host.darwin-x86_64.mk
+++ b/third_party/protobuf/protoc.host.darwin-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -205,7 +206,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -214,11 +215,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.linux-arm.mk b/third_party/protobuf/protoc.host.linux-arm.mk
index 9ffc52f1a1..7055ef00ea 100644
--- a/third_party/protobuf/protoc.host.linux-arm.mk
+++ b/third_party/protobuf/protoc.host.linux-arm.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -207,7 +208,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -216,11 +217,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.linux-mips.mk b/third_party/protobuf/protoc.host.linux-mips.mk
index 4bff27b9bb..3e7776d99f 100644
--- a/third_party/protobuf/protoc.host.linux-mips.mk
+++ b/third_party/protobuf/protoc.host.linux-mips.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -209,7 +210,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -218,11 +219,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.linux-x86.mk b/third_party/protobuf/protoc.host.linux-x86.mk
index 9ffc52f1a1..7055ef00ea 100644
--- a/third_party/protobuf/protoc.host.linux-x86.mk
+++ b/third_party/protobuf/protoc.host.linux-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -207,7 +208,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -216,11 +217,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/protobuf/protoc.host.linux-x86_64.mk b/third_party/protobuf/protoc.host.linux-x86_64.mk
index 4927e56ff2..c1b91fb108 100644
--- a/third_party/protobuf/protoc.host.linux-x86_64.mk
+++ b/third_party/protobuf/protoc.host.linux-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_protobuf_protoc_host_gyp
+LOCAL_MODULE := third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := protoc
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_host_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -209,7 +210,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_protobuf_protobuf_full_do_not_use_host_gyp
+ third_party_protobuf_protobuf_full_do_not_use_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -218,11 +219,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_protobuf_protoc_host_gyp
+gyp_all_modules: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: protoc
-protoc: third_party_protobuf_protoc_host_gyp
+protoc: third_party_protobuf_protoc_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/qcms/qcms.target.darwin-arm.mk b/third_party/qcms/qcms.target.darwin-arm.mk
index 0bd4ecb1b0..ad136e171b 100644
--- a/third_party/qcms/qcms.target.darwin-arm.mk
+++ b/third_party/qcms/qcms.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -208,9 +209,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/qcms/qcms.target.darwin-mips.mk b/third_party/qcms/qcms.target.darwin-mips.mk
index eea5d0430b..55d7b62640 100644
--- a/third_party/qcms/qcms.target.darwin-mips.mk
+++ b/third_party/qcms/qcms.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -208,9 +209,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -225,9 +226,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/qcms/qcms.target.darwin-x86.mk b/third_party/qcms/qcms.target.darwin-x86.mk
index d5a741689d..f395e41e66 100644
--- a/third_party/qcms/qcms.target.darwin-x86.mk
+++ b/third_party/qcms/qcms.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/qcms/qcms.target.darwin-x86_64.mk b/third_party/qcms/qcms.target.darwin-x86_64.mk
index a00b5717f1..a080b9f432 100644
--- a/third_party/qcms/qcms.target.darwin-x86_64.mk
+++ b/third_party/qcms/qcms.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/qcms/qcms.target.linux-arm.mk b/third_party/qcms/qcms.target.linux-arm.mk
index 0bd4ecb1b0..ad136e171b 100644
--- a/third_party/qcms/qcms.target.linux-arm.mk
+++ b/third_party/qcms/qcms.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -208,9 +209,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/qcms/qcms.target.linux-mips.mk b/third_party/qcms/qcms.target.linux-mips.mk
index eea5d0430b..55d7b62640 100644
--- a/third_party/qcms/qcms.target.linux-mips.mk
+++ b/third_party/qcms/qcms.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -208,9 +209,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -225,9 +226,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/qcms/qcms.target.linux-x86.mk b/third_party/qcms/qcms.target.linux-x86.mk
index d5a741689d..f395e41e66 100644
--- a/third_party/qcms/qcms.target.linux-x86.mk
+++ b/third_party/qcms/qcms.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/qcms/qcms.target.linux-x86_64.mk b/third_party/qcms/qcms.target.linux-x86_64.mk
index a00b5717f1..a080b9f432 100644
--- a/third_party/qcms/qcms.target.linux-x86_64.mk
+++ b/third_party/qcms/qcms.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_qcms_qcms_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/re2/re2.target.darwin-arm.mk b/third_party/re2/re2.target.darwin-arm.mk
index 9119be2ddb..0d54899634 100644
--- a/third_party/re2/re2.target.darwin-arm.mk
+++ b/third_party/re2/re2.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -252,9 +253,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/re2/re2.target.darwin-mips.mk b/third_party/re2/re2.target.darwin-mips.mk
index 70f9e58da4..7917fbc617 100644
--- a/third_party/re2/re2.target.darwin-mips.mk
+++ b/third_party/re2/re2.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -250,9 +251,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/re2/re2.target.darwin-x86.mk b/third_party/re2/re2.target.darwin-x86.mk
index f41bcb1cf9..5ac0ddb6f9 100644
--- a/third_party/re2/re2.target.darwin-x86.mk
+++ b/third_party/re2/re2.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -250,9 +251,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/re2/re2.target.darwin-x86_64.mk b/third_party/re2/re2.target.darwin-x86_64.mk
index 6471209f53..faa8ee65c1 100644
--- a/third_party/re2/re2.target.darwin-x86_64.mk
+++ b/third_party/re2/re2.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -250,9 +251,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/re2/re2.target.linux-arm.mk b/third_party/re2/re2.target.linux-arm.mk
index 9119be2ddb..0d54899634 100644
--- a/third_party/re2/re2.target.linux-arm.mk
+++ b/third_party/re2/re2.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -252,9 +253,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/re2/re2.target.linux-mips.mk b/third_party/re2/re2.target.linux-mips.mk
index 70f9e58da4..7917fbc617 100644
--- a/third_party/re2/re2.target.linux-mips.mk
+++ b/third_party/re2/re2.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -250,9 +251,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/re2/re2.target.linux-x86.mk b/third_party/re2/re2.target.linux-x86.mk
index f41bcb1cf9..5ac0ddb6f9 100644
--- a/third_party/re2/re2.target.linux-x86.mk
+++ b/third_party/re2/re2.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -250,9 +251,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/re2/re2.target.linux-x86_64.mk b/third_party/re2/re2.target.linux-x86_64.mk
index 6471209f53..faa8ee65c1 100644
--- a/third_party/re2/re2.target.linux-x86_64.mk
+++ b/third_party/re2/re2.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_re2_re2_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -233,9 +234,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -250,9 +251,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/sfntly/sfntly.target.darwin-arm.mk b/third_party/sfntly/sfntly.target.darwin-arm.mk
index 2711398fe0..485cdcb987 100644
--- a/third_party/sfntly/sfntly.target.darwin-arm.mk
+++ b/third_party/sfntly/sfntly.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -267,9 +268,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/sfntly/sfntly.target.darwin-mips.mk b/third_party/sfntly/sfntly.target.darwin-mips.mk
index bfe4d6ad9b..f56be78491 100644
--- a/third_party/sfntly/sfntly.target.darwin-mips.mk
+++ b/third_party/sfntly/sfntly.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -265,9 +266,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -282,9 +283,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/sfntly/sfntly.target.darwin-x86.mk b/third_party/sfntly/sfntly.target.darwin-x86.mk
index 246b12ff01..e15ccba470 100644
--- a/third_party/sfntly/sfntly.target.darwin-x86.mk
+++ b/third_party/sfntly/sfntly.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -267,9 +268,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -284,9 +285,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/sfntly/sfntly.target.darwin-x86_64.mk b/third_party/sfntly/sfntly.target.darwin-x86_64.mk
index 99f6fc7c3c..0b1910d4c1 100644
--- a/third_party/sfntly/sfntly.target.darwin-x86_64.mk
+++ b/third_party/sfntly/sfntly.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -267,9 +268,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -284,9 +285,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/sfntly/sfntly.target.linux-arm.mk b/third_party/sfntly/sfntly.target.linux-arm.mk
index 2711398fe0..485cdcb987 100644
--- a/third_party/sfntly/sfntly.target.linux-arm.mk
+++ b/third_party/sfntly/sfntly.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -267,9 +268,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -286,9 +287,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/sfntly/sfntly.target.linux-mips.mk b/third_party/sfntly/sfntly.target.linux-mips.mk
index bfe4d6ad9b..f56be78491 100644
--- a/third_party/sfntly/sfntly.target.linux-mips.mk
+++ b/third_party/sfntly/sfntly.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -265,9 +266,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -282,9 +283,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/sfntly/sfntly.target.linux-x86.mk b/third_party/sfntly/sfntly.target.linux-x86.mk
index 246b12ff01..e15ccba470 100644
--- a/third_party/sfntly/sfntly.target.linux-x86.mk
+++ b/third_party/sfntly/sfntly.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -267,9 +268,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -284,9 +285,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/sfntly/sfntly.target.linux-x86_64.mk b/third_party/sfntly/sfntly.target.linux-x86_64.mk
index 99f6fc7c3c..0b1910d4c1 100644
--- a/third_party/sfntly/sfntly.target.linux-x86_64.mk
+++ b/third_party/sfntly/sfntly.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sfntly_sfntly_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -267,9 +268,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -284,9 +285,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/smhasher/BUILD.gn b/third_party/smhasher/BUILD.gn
new file mode 100644
index 0000000000..e1bbb5e338
--- /dev/null
+++ b/third_party/smhasher/BUILD.gn
@@ -0,0 +1,35 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("murmurhash3") {
+ sources = [
+ "src/MurmurHash3.cpp",
+ "src/MurmurHash3.h",
+ ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+}
+
+source_set("pmurhash") {
+ sources = [
+ "src/PMurHash.c",
+ "src/PMurHash.h",
+ ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+}
+
+source_set("cityhash") {
+ sources = [
+ "src/City.cpp",
+ "src/City.h",
+ ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+
+ if (is_win) {
+ # TODO(jschuh): http://code.google.com/p/smhasher/issues/detail?id=19
+ cflags = [ "/wd4267" ]
+ }
+}
diff --git a/third_party/smhasher/cityhash.target.darwin-arm.mk b/third_party/smhasher/cityhash.target.darwin-arm.mk
index 2bd857e34b..d416716d64 100644
--- a/third_party/smhasher/cityhash.target.darwin-arm.mk
+++ b/third_party/smhasher/cityhash.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/smhasher/cityhash.target.darwin-mips.mk b/third_party/smhasher/cityhash.target.darwin-mips.mk
index e95eec25dd..2da2e04139 100644
--- a/third_party/smhasher/cityhash.target.darwin-mips.mk
+++ b/third_party/smhasher/cityhash.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -221,9 +222,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/smhasher/cityhash.target.darwin-x86.mk b/third_party/smhasher/cityhash.target.darwin-x86.mk
index 95df4e22ac..1d4f32772a 100644
--- a/third_party/smhasher/cityhash.target.darwin-x86.mk
+++ b/third_party/smhasher/cityhash.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -221,9 +222,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/smhasher/cityhash.target.darwin-x86_64.mk b/third_party/smhasher/cityhash.target.darwin-x86_64.mk
index 7b6ccfe8e5..3f93ee4e8e 100644
--- a/third_party/smhasher/cityhash.target.darwin-x86_64.mk
+++ b/third_party/smhasher/cityhash.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -221,9 +222,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/smhasher/cityhash.target.linux-arm.mk b/third_party/smhasher/cityhash.target.linux-arm.mk
index 2bd857e34b..d416716d64 100644
--- a/third_party/smhasher/cityhash.target.linux-arm.mk
+++ b/third_party/smhasher/cityhash.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -223,9 +224,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/smhasher/cityhash.target.linux-mips.mk b/third_party/smhasher/cityhash.target.linux-mips.mk
index e95eec25dd..2da2e04139 100644
--- a/third_party/smhasher/cityhash.target.linux-mips.mk
+++ b/third_party/smhasher/cityhash.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -221,9 +222,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/smhasher/cityhash.target.linux-x86.mk b/third_party/smhasher/cityhash.target.linux-x86.mk
index 95df4e22ac..1d4f32772a 100644
--- a/third_party/smhasher/cityhash.target.linux-x86.mk
+++ b/third_party/smhasher/cityhash.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -221,9 +222,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/smhasher/cityhash.target.linux-x86_64.mk b/third_party/smhasher/cityhash.target.linux-x86_64.mk
index 7b6ccfe8e5..3f93ee4e8e 100644
--- a/third_party/smhasher/cityhash.target.linux-x86_64.mk
+++ b/third_party/smhasher/cityhash.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_smhasher_cityhash_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -204,9 +205,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -221,9 +222,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/sqlite/sqlite.target.darwin-arm.mk b/third_party/sqlite/sqlite.target.darwin-arm.mk
index 7ed22d27d1..538e69fe0c 100644
--- a/third_party/sqlite/sqlite.target.darwin-arm.mk
+++ b/third_party/sqlite/sqlite.target.darwin-arm.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -277,9 +278,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/sqlite/sqlite.target.darwin-mips.mk b/third_party/sqlite/sqlite.target.darwin-mips.mk
index b93da03c10..dcb17250a6 100644
--- a/third_party/sqlite/sqlite.target.darwin-mips.mk
+++ b/third_party/sqlite/sqlite.target.darwin-mips.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/sqlite/sqlite.target.darwin-x86.mk b/third_party/sqlite/sqlite.target.darwin-x86.mk
index c61ff0b0b3..12670fac95 100644
--- a/third_party/sqlite/sqlite.target.darwin-x86.mk
+++ b/third_party/sqlite/sqlite.target.darwin-x86.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/sqlite/sqlite.target.darwin-x86_64.mk b/third_party/sqlite/sqlite.target.darwin-x86_64.mk
index 0627a2f3f7..a63a57d655 100644
--- a/third_party/sqlite/sqlite.target.darwin-x86_64.mk
+++ b/third_party/sqlite/sqlite.target.darwin-x86_64.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/sqlite/sqlite.target.linux-arm.mk b/third_party/sqlite/sqlite.target.linux-arm.mk
index 7ed22d27d1..538e69fe0c 100644
--- a/third_party/sqlite/sqlite.target.linux-arm.mk
+++ b/third_party/sqlite/sqlite.target.linux-arm.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -277,9 +278,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/sqlite/sqlite.target.linux-mips.mk b/third_party/sqlite/sqlite.target.linux-mips.mk
index b93da03c10..dcb17250a6 100644
--- a/third_party/sqlite/sqlite.target.linux-mips.mk
+++ b/third_party/sqlite/sqlite.target.linux-mips.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/sqlite/sqlite.target.linux-x86.mk b/third_party/sqlite/sqlite.target.linux-x86.mk
index c61ff0b0b3..12670fac95 100644
--- a/third_party/sqlite/sqlite.target.linux-x86.mk
+++ b/third_party/sqlite/sqlite.target.linux-x86.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/sqlite/sqlite.target.linux-x86_64.mk b/third_party/sqlite/sqlite.target.linux-x86_64.mk
index 0627a2f3f7..a63a57d655 100644
--- a/third_party/sqlite/sqlite.target.linux-x86_64.mk
+++ b/third_party/sqlite/sqlite.target.linux-x86_64.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_sqlite_sqlite_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp)/icui18n.stamp \
- $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp
+ $(call intermediates-dir-for,GYP,third_party_icu_icui18n_gyp,,,$(GYP_VAR_PREFIX))/icui18n.stamp \
+ $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp,,,$(GYP_VAR_PREFIX))/icuuc.stamp
GYP_GENERATED_OUTPUTS :=
@@ -258,9 +259,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -275,9 +276,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/tlslite/README.chromium b/third_party/tlslite/README.chromium
index cd874473e5..98c53a0001 100644
--- a/third_party/tlslite/README.chromium
+++ b/third_party/tlslite/README.chromium
@@ -41,3 +41,4 @@ Local Modifications:
- patches/status_request.patch: add support for sending stapled OCSP responses.
- patches/rsa_signature_length.patch: Ensure that RSA signatures have the
correct length.
+- Rename all Python files to lowercase in preparation for 0.4.6 update.
diff --git a/third_party/tlslite/tlslite/__init__.py b/third_party/tlslite/tlslite/__init__.py
index 47cfd1c6f1..2a587d31b8 100644
--- a/third_party/tlslite/tlslite/__init__.py
+++ b/third_party/tlslite/tlslite/__init__.py
@@ -19,21 +19,21 @@ or use one of the integration classes in L{tlslite.integration}.
__version__ = "0.3.8"
__all__ = ["api",
- "BaseDB",
- "Checker",
+ "basedb",
+ "checker",
"constants",
"errors",
- "FileObject",
- "HandshakeSettings",
+ "fileobject",
+ "handshakesettings",
"mathtls",
"messages",
- "Session",
- "SessionCache",
- "SharedKeyDB",
- "TLSConnection",
- "TLSRecordLayer",
- "VerifierDB",
- "X509",
- "X509CertChain",
+ "session",
+ "sessioncache",
+ "sharedkeydb",
+ "tlsconnection",
+ "tlsrecordlayer",
+ "verifierdb",
+ "x509",
+ "x509certchain",
"integration",
"utils"]
diff --git a/third_party/tlslite/tlslite/api.py b/third_party/tlslite/tlslite/api.py
index eebfbc6091..71d5137724 100644
--- a/third_party/tlslite/tlslite/api.py
+++ b/third_party/tlslite/tlslite/api.py
@@ -3,8 +3,8 @@
The TLS Lite API consists of classes, functions, and variables spread
throughout this package. Instead of importing them individually with::
- from tlslite.TLSConnection import TLSConnection
- from tlslite.HandshakeSettings import HandshakeSettings
+ from tlslite.tlsconnection import TLSConnection
+ from tlslite.handshakesettings import HandshakeSettings
from tlslite.errors import *
.
.
@@ -19,24 +19,24 @@ imports::
from constants import AlertLevel, AlertDescription, Fault
from errors import *
- from Checker import Checker
- from HandshakeSettings import HandshakeSettings
- from Session import Session
- from SessionCache import SessionCache
- from SharedKeyDB import SharedKeyDB
- from TLSConnection import TLSConnection
- from VerifierDB import VerifierDB
- from X509 import X509
- from X509CertChain import X509CertChain
+ from checker import Checker
+ from handshakesettings import HandshakeSettings
+ from session import Session
+ from sessioncache import SessionCache
+ from sharedkeydb import SharedKeyDB
+ from tlsconnection import TLSConnection
+ from verifierdb import VerifierDB
+ from x509 import X509
+ from x509certchain import X509CertChain
- from integration.HTTPTLSConnection import HTTPTLSConnection
- from integration.POP3_TLS import POP3_TLS
- from integration.IMAP4_TLS import IMAP4_TLS
- from integration.SMTP_TLS import SMTP_TLS
- from integration.XMLRPCTransport import XMLRPCTransport
- from integration.TLSSocketServerMixIn import TLSSocketServerMixIn
- from integration.TLSAsyncDispatcherMixIn import TLSAsyncDispatcherMixIn
- from integration.TLSTwistedProtocolWrapper import TLSTwistedProtocolWrapper
+ from integration.httptlsconnection import HTTPTLSConnection
+ from integration.pop3_tls import POP3_TLS
+ from integration.imap4_tls import IMAP4_TLS
+ from integration.smtp_tls import SMTP_TLS
+ from integration.xmlrpctransport import XMLRPCTransport
+ from integration.tlssocketservermixin import TLSSocketServerMixIn
+ from integration.tlsasyncdispatchermixin import TLSAsyncDispatcherMixIn
+ from integration.tlstwistedprotocolwrapper import TLSTwistedProtocolWrapper
from utils.cryptomath import cryptlibpyLoaded, m2cryptoLoaded,
gmpyLoaded, pycryptoLoaded, prngName
from utils.keyfactory import generateRSAKey, parsePEMKey, parseXMLKey,
@@ -45,27 +45,27 @@ imports::
from constants import AlertLevel, AlertDescription, Fault
from errors import *
-from Checker import Checker
-from HandshakeSettings import HandshakeSettings
-from Session import Session
-from SessionCache import SessionCache
-from SharedKeyDB import SharedKeyDB
-from TLSConnection import TLSConnection
-from VerifierDB import VerifierDB
-from X509 import X509
-from X509CertChain import X509CertChain
+from checker import Checker
+from handshakesettings import HandshakeSettings
+from session import Session
+from sessioncache import SessionCache
+from sharedkeydb import SharedKeyDB
+from tlsconnection import TLSConnection
+from verifierdb import VerifierDB
+from x509 import X509
+from x509certchain import X509CertChain
-from integration.HTTPTLSConnection import HTTPTLSConnection
-from integration.TLSSocketServerMixIn import TLSSocketServerMixIn
-from integration.TLSAsyncDispatcherMixIn import TLSAsyncDispatcherMixIn
-from integration.POP3_TLS import POP3_TLS
-from integration.IMAP4_TLS import IMAP4_TLS
-from integration.SMTP_TLS import SMTP_TLS
-from integration.XMLRPCTransport import XMLRPCTransport
+from integration.httptlsconnection import HTTPTLSConnection
+from integration.tlssocketservermixin import TLSSocketServerMixIn
+from integration.tlsasyncdispatchermixin import TLSAsyncDispatcherMixIn
+from integration.pop3_tls import POP3_TLS
+from integration.imap4_tls import IMAP4_TLS
+from integration.smtp_tls import SMTP_TLS
+from integration.xmlrpctransport import XMLRPCTransport
try:
import twisted
del(twisted)
- from integration.TLSTwistedProtocolWrapper import TLSTwistedProtocolWrapper
+ from integration.tlstwistedprotocolwrapper import TLSTwistedProtocolWrapper
except ImportError:
pass
diff --git a/third_party/tlslite/tlslite/BaseDB.py b/third_party/tlslite/tlslite/basedb.py
index 4988c1501c..4988c1501c 100644
--- a/third_party/tlslite/tlslite/BaseDB.py
+++ b/third_party/tlslite/tlslite/basedb.py
diff --git a/third_party/tlslite/tlslite/Checker.py b/third_party/tlslite/tlslite/checker.py
index f978697628..fc09af9f6f 100644
--- a/third_party/tlslite/tlslite/Checker.py
+++ b/third_party/tlslite/tlslite/checker.py
@@ -1,8 +1,8 @@
"""Class for post-handshake certificate checking."""
from utils.cryptomath import hashAndBase64
-from X509 import X509
-from X509CertChain import X509CertChain
+from x509 import X509
+from x509certchain import X509CertChain
from errors import *
diff --git a/third_party/tlslite/tlslite/FileObject.py b/third_party/tlslite/tlslite/fileobject.py
index 6ee02b2436..6ee02b2436 100644
--- a/third_party/tlslite/tlslite/FileObject.py
+++ b/third_party/tlslite/tlslite/fileobject.py
diff --git a/third_party/tlslite/tlslite/HandshakeSettings.py b/third_party/tlslite/tlslite/handshakesettings.py
index c7c3223e51..c7c3223e51 100644
--- a/third_party/tlslite/tlslite/HandshakeSettings.py
+++ b/third_party/tlslite/tlslite/handshakesettings.py
diff --git a/third_party/tlslite/tlslite/integration/TLSTwistedProtocolWrapper.py b/third_party/tlslite/tlslite/integration/TLSTwistedProtocolWrapper.py
index 6e1b5cadbf..0a83d376fe 100644
--- a/third_party/tlslite/tlslite/integration/TLSTwistedProtocolWrapper.py
+++ b/third_party/tlslite/tlslite/integration/TLSTwistedProtocolWrapper.py
@@ -3,8 +3,8 @@
from twisted.protocols.policies import ProtocolWrapper, WrappingFactory
from twisted.python.failure import Failure
-from AsyncStateMachine import AsyncStateMachine
-from tlslite.TLSConnection import TLSConnection
+from asyncstatemachine import AsyncStateMachine
+from tlslite.tlsconnection import TLSConnection
from tlslite.errors import *
import socket
@@ -193,4 +193,4 @@ class TLSTwistedProtocolWrapper(ProtocolWrapper, AsyncStateMachine):
else:
#Because of the FakeSocket, write operations are guaranteed to
#terminate immediately.
- AsyncStateMachine.setWriteOp(self, "".join(seq)) \ No newline at end of file
+ AsyncStateMachine.setWriteOp(self, "".join(seq))
diff --git a/third_party/tlslite/tlslite/integration/__init__.py b/third_party/tlslite/tlslite/integration/__init__.py
index 960f4065f2..bb7bca03b7 100644
--- a/third_party/tlslite/tlslite/integration/__init__.py
+++ b/third_party/tlslite/tlslite/integration/__init__.py
@@ -1,17 +1,17 @@
"""Classes for integrating TLS Lite with other packages."""
-__all__ = ["AsyncStateMachine",
- "HTTPTLSConnection",
- "POP3_TLS",
- "IMAP4_TLS",
- "SMTP_TLS",
- "XMLRPCTransport",
- "TLSSocketServerMixIn",
- "TLSAsyncDispatcherMixIn",
- "TLSTwistedProtocolWrapper"]
+__all__ = ["asyncstatemachine",
+ "httptlsconnection",
+ "pop3_tls",
+ "imap4_tls",
+ "smtp_tls",
+ "xmlrpctransport",
+ "tlssocketservermixin",
+ "tlsasyncdispatchermixin",
+ "tlstwistedprotocolwrapper"]
try:
import twisted
del twisted
except ImportError:
- del __all__[__all__.index("TLSTwistedProtocolWrapper")]
+ del __all__[__all__.index("tlstwistedprotocolwrapper")]
diff --git a/third_party/tlslite/tlslite/integration/AsyncStateMachine.py b/third_party/tlslite/tlslite/integration/asyncstatemachine.py
index 01c7efe688..01c7efe688 100644
--- a/third_party/tlslite/tlslite/integration/AsyncStateMachine.py
+++ b/third_party/tlslite/tlslite/integration/asyncstatemachine.py
diff --git a/third_party/tlslite/tlslite/integration/ClientHelper.py b/third_party/tlslite/tlslite/integration/clienthelper.py
index 7918e4af43..48846ea3e6 100644
--- a/third_party/tlslite/tlslite/integration/ClientHelper.py
+++ b/third_party/tlslite/tlslite/integration/clienthelper.py
@@ -3,7 +3,7 @@ A helper class for using TLS Lite with stdlib clients
(httplib, xmlrpclib, imaplib, poplib).
"""
-from tlslite.Checker import Checker
+from tlslite.checker import Checker
class ClientHelper:
"""This is a helper class used to integrate TLS Lite with various
@@ -160,4 +160,4 @@ class ClientHelper:
checker=self.checker,
settings=self.settings,
session=self.tlsSession)
- self.tlsSession = tlsConnection.session \ No newline at end of file
+ self.tlsSession = tlsConnection.session
diff --git a/third_party/tlslite/tlslite/integration/HTTPTLSConnection.py b/third_party/tlslite/tlslite/integration/httptlsconnection.py
index 051d8e6866..e59d246aaa 100644
--- a/third_party/tlslite/tlslite/integration/HTTPTLSConnection.py
+++ b/third_party/tlslite/tlslite/integration/httptlsconnection.py
@@ -2,8 +2,8 @@
import socket
import httplib
-from tlslite.TLSConnection import TLSConnection
-from tlslite.integration.ClientHelper import ClientHelper
+from tlslite.tlsconnection import TLSConnection
+from tlslite.integration.clienthelper import ClientHelper
class HTTPBaseTLSConnection(httplib.HTTPConnection):
@@ -166,4 +166,4 @@ class HTTPTLSConnection(HTTPBaseTLSConnection, ClientHelper):
settings)
def _handshake(self, tlsConnection):
- ClientHelper._handshake(self, tlsConnection) \ No newline at end of file
+ ClientHelper._handshake(self, tlsConnection)
diff --git a/third_party/tlslite/tlslite/integration/IMAP4_TLS.py b/third_party/tlslite/tlslite/integration/imap4_tls.py
index 0535801b18..114920768b 100644
--- a/third_party/tlslite/tlslite/integration/IMAP4_TLS.py
+++ b/third_party/tlslite/tlslite/integration/imap4_tls.py
@@ -2,8 +2,8 @@
import socket
from imaplib import IMAP4
-from tlslite.TLSConnection import TLSConnection
-from tlslite.integration.ClientHelper import ClientHelper
+from tlslite.tlsconnection import TLSConnection
+from tlslite.integration.clienthelper import ClientHelper
# IMAP TLS PORT
IMAP4_TLS_PORT = 993
@@ -129,4 +129,4 @@ class IMAP4_TLS(IMAP4, ClientHelper):
self.sock = TLSConnection(self.sock)
self.sock.closeSocket = True
ClientHelper._handshake(self, self.sock)
- self.file = self.sock.makefile('rb') \ No newline at end of file
+ self.file = self.sock.makefile('rb')
diff --git a/third_party/tlslite/tlslite/integration/IntegrationHelper.py b/third_party/tlslite/tlslite/integration/integrationhelper.py
index ca81a4865d..ca81a4865d 100644
--- a/third_party/tlslite/tlslite/integration/IntegrationHelper.py
+++ b/third_party/tlslite/tlslite/integration/integrationhelper.py
diff --git a/third_party/tlslite/tlslite/integration/POP3_TLS.py b/third_party/tlslite/tlslite/integration/pop3_tls.py
index 71530cc532..4faeee810e 100644
--- a/third_party/tlslite/tlslite/integration/POP3_TLS.py
+++ b/third_party/tlslite/tlslite/integration/pop3_tls.py
@@ -2,8 +2,8 @@
import socket
from poplib import POP3
-from tlslite.TLSConnection import TLSConnection
-from tlslite.integration.ClientHelper import ClientHelper
+from tlslite.tlsconnection import TLSConnection
+from tlslite.integration.clienthelper import ClientHelper
# POP TLS PORT
POP3_TLS_PORT = 995
@@ -139,4 +139,4 @@ class POP3_TLS(POP3, ClientHelper):
self.file = self.sock.makefile('rb')
self._debugging = 0
- self.welcome = self._getresp() \ No newline at end of file
+ self.welcome = self._getresp()
diff --git a/third_party/tlslite/tlslite/integration/SMTP_TLS.py b/third_party/tlslite/tlslite/integration/smtp_tls.py
index 8421523c14..05a9d1a990 100644
--- a/third_party/tlslite/tlslite/integration/SMTP_TLS.py
+++ b/third_party/tlslite/tlslite/integration/smtp_tls.py
@@ -1,8 +1,8 @@
"""TLS Lite + smtplib."""
from smtplib import SMTP
-from tlslite.TLSConnection import TLSConnection
-from tlslite.integration.ClientHelper import ClientHelper
+from tlslite.tlsconnection import TLSConnection
+from tlslite.integration.clienthelper import ClientHelper
class SMTP_TLS(SMTP):
"""This class extends L{smtplib.SMTP} with TLS support."""
@@ -111,4 +111,4 @@ class SMTP_TLS(SMTP):
helper._handshake(conn)
self.sock = conn
self.file = conn.makefile('rb')
- return (resp, reply) \ No newline at end of file
+ return (resp, reply)
diff --git a/third_party/tlslite/tlslite/integration/TLSAsyncDispatcherMixIn.py b/third_party/tlslite/tlslite/integration/tlsasyncdispatchermixin.py
index fd9868ff1c..a210a51c55 100644
--- a/third_party/tlslite/tlslite/integration/TLSAsyncDispatcherMixIn.py
+++ b/third_party/tlslite/tlslite/integration/tlsasyncdispatchermixin.py
@@ -2,8 +2,8 @@
import asyncore
-from tlslite.TLSConnection import TLSConnection
-from AsyncStateMachine import AsyncStateMachine
+from tlslite.tlsconnection import TLSConnection
+from asyncstatemachine import AsyncStateMachine
class TLSAsyncDispatcherMixIn(AsyncStateMachine):
@@ -136,4 +136,4 @@ class TLSAsyncDispatcherMixIn(AsyncStateMachine):
if hasattr(self, "tlsConnection"):
self.setCloseOp()
else:
- asyncore.dispatcher.close(self) \ No newline at end of file
+ asyncore.dispatcher.close(self)
diff --git a/third_party/tlslite/tlslite/integration/TLSSocketServerMixIn.py b/third_party/tlslite/tlslite/integration/tlssocketservermixin.py
index dd4f945dd0..afb4135f88 100644
--- a/third_party/tlslite/tlslite/integration/TLSSocketServerMixIn.py
+++ b/third_party/tlslite/tlslite/integration/tlssocketservermixin.py
@@ -1,6 +1,6 @@
"""TLS Lite + SocketServer."""
-from tlslite.TLSConnection import TLSConnection
+from tlslite.tlsconnection import TLSConnection
class TLSSocketServerMixIn:
"""
@@ -56,4 +56,4 @@ class TLSSocketServerMixIn:
#Implement this method to do some form of handshaking. Return True
#if the handshake finishes properly and the request is authorized.
def handshake(self, tlsConnection):
- raise NotImplementedError() \ No newline at end of file
+ raise NotImplementedError()
diff --git a/third_party/tlslite/tlslite/integration/XMLRPCTransport.py b/third_party/tlslite/tlslite/integration/xmlrpctransport.py
index 87a035d2ca..73d43fcba6 100644
--- a/third_party/tlslite/tlslite/integration/XMLRPCTransport.py
+++ b/third_party/tlslite/tlslite/integration/xmlrpctransport.py
@@ -2,8 +2,8 @@
import xmlrpclib
import httplib
-from tlslite.integration.HTTPTLSConnection import HTTPTLSConnection
-from tlslite.integration.ClientHelper import ClientHelper
+from tlslite.integration.httptlsconnection import HTTPTLSConnection
+from tlslite.integration.clienthelper import ClientHelper
class XMLRPCTransport(xmlrpclib.Transport, ClientHelper):
@@ -134,4 +134,4 @@ class XMLRPCTransport(xmlrpclib.Transport, ClientHelper):
self.settings)
http2 = httplib.HTTP()
http2._setup(http)
- return http2 \ No newline at end of file
+ return http2
diff --git a/third_party/tlslite/tlslite/messages.py b/third_party/tlslite/tlslite/messages.py
index 497ef6048d..fd6265f294 100644
--- a/third_party/tlslite/tlslite/messages.py
+++ b/third_party/tlslite/tlslite/messages.py
@@ -5,8 +5,8 @@ from utils.cryptomath import *
from errors import *
from utils.codec import *
from constants import *
-from X509 import X509
-from X509CertChain import X509CertChain
+from x509 import X509
+from x509certchain import X509CertChain
# The sha module is deprecated in Python 2.6
try:
diff --git a/third_party/tlslite/tlslite/Session.py b/third_party/tlslite/tlslite/session.py
index a951f45894..a951f45894 100644
--- a/third_party/tlslite/tlslite/Session.py
+++ b/third_party/tlslite/tlslite/session.py
diff --git a/third_party/tlslite/tlslite/SessionCache.py b/third_party/tlslite/tlslite/sessioncache.py
index 34cf0b0ec4..34cf0b0ec4 100644
--- a/third_party/tlslite/tlslite/SessionCache.py
+++ b/third_party/tlslite/tlslite/sessioncache.py
diff --git a/third_party/tlslite/tlslite/SharedKeyDB.py b/third_party/tlslite/tlslite/sharedkeydb.py
index 3246ec7f15..97b31a505e 100644
--- a/third_party/tlslite/tlslite/SharedKeyDB.py
+++ b/third_party/tlslite/tlslite/sharedkeydb.py
@@ -3,8 +3,8 @@
from utils.cryptomath import *
from utils.compat import *
from mathtls import *
-from Session import Session
-from BaseDB import BaseDB
+from session import Session
+from basedb import BaseDB
class SharedKeyDB(BaseDB):
"""This class represent an in-memory or on-disk database of shared
@@ -55,4 +55,4 @@ class SharedKeyDB(BaseDB):
def _checkItem(self, value, username, param):
newSession = self._getItem(username, param)
- return value.masterSecret == newSession.masterSecret \ No newline at end of file
+ return value.masterSecret == newSession.masterSecret
diff --git a/third_party/tlslite/tlslite/TLSConnection.py b/third_party/tlslite/tlslite/tlsconnection.py
index 0c3453666e..90449afe13 100644
--- a/third_party/tlslite/tlslite/TLSConnection.py
+++ b/third_party/tlslite/tlslite/tlsconnection.py
@@ -5,14 +5,14 @@ from __future__ import generators
import socket
from utils.compat import formatExceptionTrace
-from TLSRecordLayer import TLSRecordLayer
-from Session import Session
+from tlsrecordlayer import TLSRecordLayer
+from session import Session
from constants import *
from utils.cryptomath import getRandomBytes
from errors import *
from messages import *
from mathtls import *
-from HandshakeSettings import HandshakeSettings
+from handshakesettings import HandshakeSettings
class TLSConnection(TLSRecordLayer):
diff --git a/third_party/tlslite/tlslite/TLSRecordLayer.py b/third_party/tlslite/tlslite/tlsrecordlayer.py
index 933b95a9de..bcfd64061a 100644
--- a/third_party/tlslite/tlslite/TLSRecordLayer.py
+++ b/third_party/tlslite/tlslite/tlsrecordlayer.py
@@ -11,7 +11,7 @@ from mathtls import *
from constants import *
from utils.cryptomath import getRandomBytes
from utils import hmac
-from FileObject import FileObject
+from fileobject import FileObject
# The sha module is deprecated in Python 2.6
try:
diff --git a/third_party/tlslite/tlslite/utils/__init__.py b/third_party/tlslite/tlslite/utils/__init__.py
index e96b4bef8a..5f53b98f9e 100644
--- a/third_party/tlslite/tlslite/utils/__init__.py
+++ b/third_party/tlslite/tlslite/utils/__init__.py
@@ -1,31 +1,31 @@
"""Toolkit for crypto and other stuff."""
-__all__ = ["AES",
- "ASN1Parser",
+__all__ = ["aes",
+ "asn1parser",
"cipherfactory",
"codec",
- "Cryptlib_AES",
- "Cryptlib_RC4",
- "Cryptlib_TripleDES",
+ "cryptlib_aes",
+ "cryptlib_rc4",
+ "cryptlib_tripledes",
"cryptomath: cryptomath module",
- "dateFuncs",
+ "datefuncs",
"hmac",
- "JCE_RSAKey",
+ "jce_rsakey",
"compat",
"keyfactory",
- "OpenSSL_AES",
- "OpenSSL_RC4",
- "OpenSSL_RSAKey",
- "OpenSSL_TripleDES",
- "PyCrypto_AES",
- "PyCrypto_RC4",
- "PyCrypto_RSAKey",
- "PyCrypto_TripleDES",
- "Python_AES",
- "Python_RC4",
- "Python_RSAKey",
- "RC4",
+ "openssl_aes",
+ "openssl_rc4",
+ "openssl_rsakey",
+ "openssl_tripledes",
+ "pycrypto_aes",
+ "pycrypto_rc4",
+ "pycrypto_rsakey",
+ "pycrypto_tripledes",
+ "python_aes",
+ "python_rc4",
+ "python_rsakey",
+ "rc4",
"rijndael",
- "RSAKey",
- "TripleDES",
+ "rsakey",
+ "tripledes",
"xmltools"]
diff --git a/third_party/tlslite/tlslite/utils/AES.py b/third_party/tlslite/tlslite/utils/aes.py
index 8413f4c109..8413f4c109 100644
--- a/third_party/tlslite/tlslite/utils/AES.py
+++ b/third_party/tlslite/tlslite/utils/aes.py
diff --git a/third_party/tlslite/tlslite/utils/ASN1Parser.py b/third_party/tlslite/tlslite/utils/asn1parser.py
index c85c138106..c85c138106 100644
--- a/third_party/tlslite/tlslite/utils/ASN1Parser.py
+++ b/third_party/tlslite/tlslite/utils/asn1parser.py
diff --git a/third_party/tlslite/tlslite/utils/cipherfactory.py b/third_party/tlslite/tlslite/utils/cipherfactory.py
index ccbb6b5ff9..331f72469c 100644
--- a/third_party/tlslite/tlslite/utils/cipherfactory.py
+++ b/third_party/tlslite/tlslite/utils/cipherfactory.py
@@ -2,29 +2,29 @@
import os
-import Python_AES
-import Python_RC4
+import python_aes
+import python_rc4
import cryptomath
tripleDESPresent = False
if cryptomath.m2cryptoLoaded:
- import OpenSSL_AES
- import OpenSSL_RC4
- import OpenSSL_TripleDES
+ import openssl_aes
+ import openssl_rc4
+ import openssl_tripledes
tripleDESPresent = True
if cryptomath.cryptlibpyLoaded:
- import Cryptlib_AES
- import Cryptlib_RC4
- import Cryptlib_TripleDES
+ import cryptlib_aes
+ import cryptlib_rc4
+ import cryptlib_tripledes
tripleDESPresent = True
if cryptomath.pycryptoLoaded:
- import PyCrypto_AES
- import PyCrypto_RC4
- import PyCrypto_TripleDES
+ import pycrypto_aes
+ import pycrypto_rc4
+ import pycrypto_tripledes
tripleDESPresent = True
# **************************************************************************
@@ -48,13 +48,13 @@ def createAES(key, IV, implList=None):
for impl in implList:
if impl == "cryptlib" and cryptomath.cryptlibpyLoaded:
- return Cryptlib_AES.new(key, 2, IV)
+ return cryptlib_aes.new(key, 2, IV)
elif impl == "openssl" and cryptomath.m2cryptoLoaded:
- return OpenSSL_AES.new(key, 2, IV)
+ return openssl_aes.new(key, 2, IV)
elif impl == "pycrypto" and cryptomath.pycryptoLoaded:
- return PyCrypto_AES.new(key, 2, IV)
+ return pycrypto_aes.new(key, 2, IV)
elif impl == "python":
- return Python_AES.new(key, 2, IV)
+ return python_aes.new(key, 2, IV)
raise NotImplementedError()
def createRC4(key, IV, implList=None):
@@ -76,13 +76,13 @@ def createRC4(key, IV, implList=None):
raise AssertionError()
for impl in implList:
if impl == "cryptlib" and cryptomath.cryptlibpyLoaded:
- return Cryptlib_RC4.new(key)
+ return cryptlib_rc4.new(key)
elif impl == "openssl" and cryptomath.m2cryptoLoaded:
- return OpenSSL_RC4.new(key)
+ return openssl_rc4.new(key)
elif impl == "pycrypto" and cryptomath.pycryptoLoaded:
- return PyCrypto_RC4.new(key)
+ return pycrypto_rc4.new(key)
elif impl == "python":
- return Python_RC4.new(key)
+ return python_rc4.new(key)
raise NotImplementedError()
#Create a new TripleDES instance
@@ -103,9 +103,9 @@ def createTripleDES(key, IV, implList=None):
for impl in implList:
if impl == "cryptlib" and cryptomath.cryptlibpyLoaded:
- return Cryptlib_TripleDES.new(key, 2, IV)
+ return cryptlib_tripledes.new(key, 2, IV)
elif impl == "openssl" and cryptomath.m2cryptoLoaded:
- return OpenSSL_TripleDES.new(key, 2, IV)
+ return openssl_tripledes.new(key, 2, IV)
elif impl == "pycrypto" and cryptomath.pycryptoLoaded:
- return PyCrypto_TripleDES.new(key, 2, IV)
- raise NotImplementedError() \ No newline at end of file
+ return pycrypto_tripledes.new(key, 2, IV)
+ raise NotImplementedError()
diff --git a/third_party/tlslite/tlslite/utils/Cryptlib_AES.py b/third_party/tlslite/tlslite/utils/cryptlib_aes.py
index 9e101fc626..4379b4478d 100644
--- a/third_party/tlslite/tlslite/utils/Cryptlib_AES.py
+++ b/third_party/tlslite/tlslite/utils/cryptlib_aes.py
@@ -1,7 +1,7 @@
"""Cryptlib AES implementation."""
from cryptomath import *
-from AES import *
+from aes import *
if cryptlibpyLoaded:
diff --git a/third_party/tlslite/tlslite/utils/Cryptlib_RC4.py b/third_party/tlslite/tlslite/utils/cryptlib_rc4.py
index 7c6d087b8d..6bc8813382 100644
--- a/third_party/tlslite/tlslite/utils/Cryptlib_RC4.py
+++ b/third_party/tlslite/tlslite/utils/cryptlib_rc4.py
@@ -1,7 +1,7 @@
"""Cryptlib RC4 implementation."""
from cryptomath import *
-from RC4 import RC4
+from rc4 import RC4
if cryptlibpyLoaded:
@@ -25,4 +25,4 @@ if cryptlibpyLoaded:
return bytesToString(bytes)
def decrypt(self, ciphertext):
- return self.encrypt(ciphertext) \ No newline at end of file
+ return self.encrypt(ciphertext)
diff --git a/third_party/tlslite/tlslite/utils/Cryptlib_TripleDES.py b/third_party/tlslite/tlslite/utils/cryptlib_tripledes.py
index a4f8155a09..b98f235bd3 100644
--- a/third_party/tlslite/tlslite/utils/Cryptlib_TripleDES.py
+++ b/third_party/tlslite/tlslite/utils/cryptlib_tripledes.py
@@ -2,7 +2,7 @@
from cryptomath import *
-from TripleDES import *
+from tripledes import *
if cryptlibpyLoaded:
@@ -32,4 +32,4 @@ if cryptlibpyLoaded:
TripleDES.decrypt(self, ciphertext)
bytes = stringToBytes(ciphertext)
cryptlib_py.cryptDecrypt(self.context, bytes)
- return bytesToString(bytes) \ No newline at end of file
+ return bytesToString(bytes)
diff --git a/third_party/tlslite/tlslite/utils/dateFuncs.py b/third_party/tlslite/tlslite/utils/datefuncs.py
index 38812ebf85..38812ebf85 100644
--- a/third_party/tlslite/tlslite/utils/dateFuncs.py
+++ b/third_party/tlslite/tlslite/utils/datefuncs.py
diff --git a/third_party/tlslite/tlslite/utils/keyfactory.py b/third_party/tlslite/tlslite/utils/keyfactory.py
index 5005af7f5b..dff343515d 100644
--- a/third_party/tlslite/tlslite/utils/keyfactory.py
+++ b/third_party/tlslite/tlslite/utils/keyfactory.py
@@ -5,15 +5,15 @@ parseAsPrivateKey
from compat import *
-from RSAKey import RSAKey
-from Python_RSAKey import Python_RSAKey
+from rsakey import RSAKey
+from python_rsakey import Python_RSAKey
import cryptomath
if cryptomath.m2cryptoLoaded:
- from OpenSSL_RSAKey import OpenSSL_RSAKey
+ from openssl_rsakey import OpenSSL_RSAKey
if cryptomath.pycryptoLoaded:
- from PyCrypto_RSAKey import PyCrypto_RSAKey
+ from pycrypto_rsakey import PyCrypto_RSAKey
# **************************************************************************
# Factory Functions for RSA Keys
diff --git a/third_party/tlslite/tlslite/utils/OpenSSL_AES.py b/third_party/tlslite/tlslite/utils/openssl_aes.py
index e60679bf50..c2925d3c17 100644
--- a/third_party/tlslite/tlslite/utils/OpenSSL_AES.py
+++ b/third_party/tlslite/tlslite/utils/openssl_aes.py
@@ -1,7 +1,7 @@
"""OpenSSL/M2Crypto AES implementation."""
from cryptomath import *
-from AES import *
+from aes import *
if m2cryptoLoaded:
diff --git a/third_party/tlslite/tlslite/utils/OpenSSL_RC4.py b/third_party/tlslite/tlslite/utils/openssl_rc4.py
index ac433aad76..2dc5adbe22 100644
--- a/third_party/tlslite/tlslite/utils/OpenSSL_RC4.py
+++ b/third_party/tlslite/tlslite/utils/openssl_rc4.py
@@ -1,7 +1,7 @@
"""OpenSSL/M2Crypto RC4 implementation."""
from cryptomath import *
-from RC4 import RC4
+from rc4 import RC4
if m2cryptoLoaded:
diff --git a/third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py b/third_party/tlslite/tlslite/utils/openssl_rsakey.py
index fe1a3cd74d..9cee35d2ef 100644
--- a/third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py
+++ b/third_party/tlslite/tlslite/utils/openssl_rsakey.py
@@ -2,8 +2,8 @@
from cryptomath import *
-from RSAKey import *
-from Python_RSAKey import Python_RSAKey
+from rsakey import *
+from python_rsakey import Python_RSAKey
#copied from M2Crypto.util.py, so when we load the local copy of m2
#we can still use it
diff --git a/third_party/tlslite/tlslite/utils/OpenSSL_TripleDES.py b/third_party/tlslite/tlslite/utils/openssl_tripledes.py
index f5ba165652..856c7af486 100644
--- a/third_party/tlslite/tlslite/utils/OpenSSL_TripleDES.py
+++ b/third_party/tlslite/tlslite/utils/openssl_tripledes.py
@@ -1,7 +1,7 @@
"""OpenSSL/M2Crypto 3DES implementation."""
from cryptomath import *
-from TripleDES import *
+from tripledes import *
if m2cryptoLoaded:
@@ -41,4 +41,4 @@ if m2cryptoLoaded:
plaintext = plaintext[:len(ciphertext)]
m2.cipher_ctx_free(context)
self.IV = ciphertext[-self.block_size:]
- return plaintext \ No newline at end of file
+ return plaintext
diff --git a/third_party/tlslite/tlslite/utils/PyCrypto_AES.py b/third_party/tlslite/tlslite/utils/pycrypto_aes.py
index e38b19d6fb..a44094185e 100644
--- a/third_party/tlslite/tlslite/utils/PyCrypto_AES.py
+++ b/third_party/tlslite/tlslite/utils/pycrypto_aes.py
@@ -1,7 +1,7 @@
"""PyCrypto AES implementation."""
from cryptomath import *
-from AES import *
+from aes import *
if pycryptoLoaded:
import Crypto.Cipher.AES
@@ -19,4 +19,4 @@ if pycryptoLoaded:
return self.context.encrypt(plaintext)
def decrypt(self, ciphertext):
- return self.context.decrypt(ciphertext) \ No newline at end of file
+ return self.context.decrypt(ciphertext)
diff --git a/third_party/tlslite/tlslite/utils/PyCrypto_RC4.py b/third_party/tlslite/tlslite/utils/pycrypto_rc4.py
index 6c6d86afde..a9f1140611 100644
--- a/third_party/tlslite/tlslite/utils/PyCrypto_RC4.py
+++ b/third_party/tlslite/tlslite/utils/pycrypto_rc4.py
@@ -1,7 +1,7 @@
"""PyCrypto RC4 implementation."""
from cryptomath import *
-from RC4 import *
+from rc4 import *
if pycryptoLoaded:
import Crypto.Cipher.ARC4
@@ -19,4 +19,4 @@ if pycryptoLoaded:
return self.context.encrypt(plaintext)
def decrypt(self, ciphertext):
- return self.context.decrypt(ciphertext) \ No newline at end of file
+ return self.context.decrypt(ciphertext)
diff --git a/third_party/tlslite/tlslite/utils/PyCrypto_RSAKey.py b/third_party/tlslite/tlslite/utils/pycrypto_rsakey.py
index 48b5cef03f..94e8578322 100644
--- a/third_party/tlslite/tlslite/utils/PyCrypto_RSAKey.py
+++ b/third_party/tlslite/tlslite/utils/pycrypto_rsakey.py
@@ -2,8 +2,8 @@
from cryptomath import *
-from RSAKey import *
-from Python_RSAKey import Python_RSAKey
+from rsakey import *
+from python_rsakey import Python_RSAKey
if pycryptoLoaded:
diff --git a/third_party/tlslite/tlslite/utils/PyCrypto_TripleDES.py b/third_party/tlslite/tlslite/utils/pycrypto_tripledes.py
index 8c22bb80a5..0bc1104ab9 100644
--- a/third_party/tlslite/tlslite/utils/PyCrypto_TripleDES.py
+++ b/third_party/tlslite/tlslite/utils/pycrypto_tripledes.py
@@ -1,7 +1,7 @@
"""PyCrypto 3DES implementation."""
from cryptomath import *
-from TripleDES import *
+from tripledes import *
if pycryptoLoaded:
import Crypto.Cipher.DES3
@@ -19,4 +19,4 @@ if pycryptoLoaded:
return self.context.encrypt(plaintext)
def decrypt(self, ciphertext):
- return self.context.decrypt(ciphertext) \ No newline at end of file
+ return self.context.decrypt(ciphertext)
diff --git a/third_party/tlslite/tlslite/utils/Python_AES.py b/third_party/tlslite/tlslite/utils/python_aes.py
index 657152f892..3673591963 100644
--- a/third_party/tlslite/tlslite/utils/Python_AES.py
+++ b/third_party/tlslite/tlslite/utils/python_aes.py
@@ -2,7 +2,7 @@
from cryptomath import *
-from AES import *
+from aes import *
from rijndael import rijndael
def new(key, mode, IV):
diff --git a/third_party/tlslite/tlslite/utils/Python_RC4.py b/third_party/tlslite/tlslite/utils/python_rc4.py
index 56ce5fb2fc..c513ce78c8 100644
--- a/third_party/tlslite/tlslite/utils/Python_RC4.py
+++ b/third_party/tlslite/tlslite/utils/python_rc4.py
@@ -1,6 +1,6 @@
"""Pure-Python RC4 implementation."""
-from RC4 import RC4
+from rc4 import RC4
from cryptomath import *
def new(key):
diff --git a/third_party/tlslite/tlslite/utils/Python_RSAKey.py b/third_party/tlslite/tlslite/utils/python_rsakey.py
index b57553a1ac..2dac988d26 100644
--- a/third_party/tlslite/tlslite/utils/Python_RSAKey.py
+++ b/third_party/tlslite/tlslite/utils/python_rsakey.py
@@ -2,8 +2,8 @@
from cryptomath import *
import xmltools
-from ASN1Parser import ASN1Parser
-from RSAKey import *
+from asn1parser import ASN1Parser
+from rsakey import *
class Python_RSAKey(RSAKey):
def __init__(self, n=0, e=0, d=0, p=0, q=0, dP=0, dQ=0, qInv=0):
diff --git a/third_party/tlslite/tlslite/utils/RC4.py b/third_party/tlslite/tlslite/utils/rc4.py
index 550692327c..550692327c 100644
--- a/third_party/tlslite/tlslite/utils/RC4.py
+++ b/third_party/tlslite/tlslite/utils/rc4.py
diff --git a/third_party/tlslite/tlslite/utils/RSAKey.py b/third_party/tlslite/tlslite/utils/rsakey.py
index 1b917428f5..1b917428f5 100644
--- a/third_party/tlslite/tlslite/utils/RSAKey.py
+++ b/third_party/tlslite/tlslite/utils/rsakey.py
diff --git a/third_party/tlslite/tlslite/utils/TripleDES.py b/third_party/tlslite/tlslite/utils/tripledes.py
index 2db45888bd..2db45888bd 100644
--- a/third_party/tlslite/tlslite/utils/TripleDES.py
+++ b/third_party/tlslite/tlslite/utils/tripledes.py
diff --git a/third_party/tlslite/tlslite/VerifierDB.py b/third_party/tlslite/tlslite/verifierdb.py
index f706b17967..d2d30c1bae 100644
--- a/third_party/tlslite/tlslite/VerifierDB.py
+++ b/third_party/tlslite/tlslite/verifierdb.py
@@ -3,7 +3,7 @@
from utils.cryptomath import *
from utils.compat import *
import mathtls
-from BaseDB import BaseDB
+from basedb import BaseDB
class VerifierDB(BaseDB):
"""This class represent an in-memory or on-disk database of SRP
@@ -87,4 +87,4 @@ class VerifierDB(BaseDB):
@return: A tuple which may be stored in a VerifierDB.
"""
return mathtls.makeVerifier(username, password, bits)
- makeVerifier = staticmethod(makeVerifier) \ No newline at end of file
+ makeVerifier = staticmethod(makeVerifier)
diff --git a/third_party/tlslite/tlslite/X509.py b/third_party/tlslite/tlslite/x509.py
index a32d879a3a..e42985dad5 100644
--- a/third_party/tlslite/tlslite/X509.py
+++ b/third_party/tlslite/tlslite/x509.py
@@ -1,6 +1,6 @@
"""Class representing an X.509 certificate."""
-from utils.ASN1Parser import ASN1Parser
+from utils.asn1parser import ASN1Parser
from utils.cryptomath import *
from utils.keyfactory import _createPublicRSAKey
diff --git a/third_party/tlslite/tlslite/X509CertChain.py b/third_party/tlslite/tlslite/x509certchain.py
index db55fa5a32..5db6d470b5 100644
--- a/third_party/tlslite/tlslite/X509CertChain.py
+++ b/third_party/tlslite/tlslite/x509certchain.py
@@ -1,7 +1,7 @@
"""Class representing an X.509 certificate chain."""
from utils import cryptomath
-from X509 import X509
+from x509 import X509
class X509CertChain:
"""This class represents a chain of X.509 certificates.
@@ -239,4 +239,4 @@ class X509CertChain:
return False
if not compareNames(cryptlib_py.CRYPT_CERTINFO_COMMONNAME):
return False
- return True \ No newline at end of file
+ return True
diff --git a/third_party/usrsctp/usrsctp.gyp b/third_party/usrsctp/usrsctp.gyp
index bb4b2ce069..f97cc63bcd 100644
--- a/third_party/usrsctp/usrsctp.gyp
+++ b/third_party/usrsctp/usrsctp.gyp
@@ -56,6 +56,7 @@
'target_name': 'usrsctplib',
'type': 'static_library',
'sources': [
+ 'usrsctplib/netinet/sctp.h',
'usrsctplib/netinet/sctp_asconf.c',
'usrsctplib/netinet/sctp_asconf.h',
'usrsctplib/netinet/sctp_auth.c',
@@ -82,6 +83,7 @@
'usrsctplib/netinet/sctp_pcb.h',
'usrsctplib/netinet/sctp_peeloff.c',
'usrsctplib/netinet/sctp_peeloff.h',
+ 'usrsctplib/netinet/sctp_process_lock.h',
'usrsctplib/netinet/sctp_sha1.c',
'usrsctplib/netinet/sctp_sha1.h',
'usrsctplib/netinet/sctp_ss_functions.c',
@@ -96,12 +98,15 @@
'usrsctplib/netinet/sctp_var.h',
'usrsctplib/netinet/sctputil.c',
'usrsctplib/netinet/sctputil.h',
+ 'usrsctplib/netinet6/sctp6_usrreq.c',
+ 'usrsctplib/netinet6/sctp6_var.h',
'usrsctplib/user_atomic.h',
'usrsctplib/user_environment.c',
'usrsctplib/user_environment.h',
'usrsctplib/user_inpcb.h',
'usrsctplib/user_ip6_var.h',
'usrsctplib/user_ip_icmp.h',
+ 'usrsctplib/user_malloc.h',
'usrsctplib/user_mbuf.c',
'usrsctplib/user_mbuf.h',
'usrsctplib/user_queue.h',
@@ -112,7 +117,7 @@
'usrsctplib/user_socket.c',
'usrsctplib/user_socketvar.h',
'usrsctplib/user_uma.h',
- 'usrsctplib/usrsctp.h',
+ 'usrsctplib/usrsctp.h'
], # sources
'conditions': [
['OS=="linux" or OS=="android"', {
@@ -151,7 +156,7 @@
'cflags': [ '/w' ],
# TODO(ldixon) : Remove this disabling of warnings by pushing a
# fix upstream to usrsctp
- 'msvs_disabled_warnings': [ 4700, 4013, 4018, 4133, 4267 ],
+ 'msvs_disabled_warnings': [ 4002, 4013, 4018, 4133, 4267, 4313, 4700 ],
}, { # OS != "win",
'defines': [
'NON_WINDOWS_DEFINE',
diff --git a/third_party/usrsctp/usrsctplib.target.darwin-arm.mk b/third_party/usrsctp/usrsctplib.target.darwin-arm.mk
index 8cc26336bf..01fbdb596e 100644
--- a/third_party/usrsctp/usrsctplib.target.darwin-arm.mk
+++ b/third_party/usrsctp/usrsctplib.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -246,9 +248,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -265,9 +267,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/usrsctp/usrsctplib.target.darwin-mips.mk b/third_party/usrsctp/usrsctplib.target.darwin-mips.mk
index f32b3b3e0c..88973f6160 100644
--- a/third_party/usrsctp/usrsctplib.target.darwin-mips.mk
+++ b/third_party/usrsctp/usrsctplib.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -246,9 +248,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -263,9 +265,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/usrsctp/usrsctplib.target.darwin-x86.mk b/third_party/usrsctp/usrsctplib.target.darwin-x86.mk
index 093f23d259..318ea63c6b 100644
--- a/third_party/usrsctp/usrsctplib.target.darwin-x86.mk
+++ b/third_party/usrsctp/usrsctplib.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -246,9 +248,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -263,9 +265,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/usrsctp/usrsctplib.target.darwin-x86_64.mk b/third_party/usrsctp/usrsctplib.target.darwin-x86_64.mk
index 4859c9f5eb..e93e0c18d1 100644
--- a/third_party/usrsctp/usrsctplib.target.darwin-x86_64.mk
+++ b/third_party/usrsctp/usrsctplib.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -248,9 +250,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -265,9 +267,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/usrsctp/usrsctplib.target.linux-arm.mk b/third_party/usrsctp/usrsctplib.target.linux-arm.mk
index 8cc26336bf..01fbdb596e 100644
--- a/third_party/usrsctp/usrsctplib.target.linux-arm.mk
+++ b/third_party/usrsctp/usrsctplib.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -246,9 +248,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -265,9 +267,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/usrsctp/usrsctplib.target.linux-mips.mk b/third_party/usrsctp/usrsctplib.target.linux-mips.mk
index f32b3b3e0c..88973f6160 100644
--- a/third_party/usrsctp/usrsctplib.target.linux-mips.mk
+++ b/third_party/usrsctp/usrsctplib.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -246,9 +248,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -263,9 +265,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/usrsctp/usrsctplib.target.linux-x86.mk b/third_party/usrsctp/usrsctplib.target.linux-x86.mk
index 093f23d259..318ea63c6b 100644
--- a/third_party/usrsctp/usrsctplib.target.linux-x86.mk
+++ b/third_party/usrsctp/usrsctplib.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -246,9 +248,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -263,9 +265,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/usrsctp/usrsctplib.target.linux-x86_64.mk b/third_party/usrsctp/usrsctplib.target.linux-x86_64.mk
index 4859c9f5eb..e93e0c18d1 100644
--- a/third_party/usrsctp/usrsctplib.target.linux-x86_64.mk
+++ b/third_party/usrsctp/usrsctplib.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_usrsctp_usrsctplib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -40,6 +41,7 @@ LOCAL_SRC_FILES := \
third_party/usrsctp/usrsctplib/netinet/sctp_userspace.c \
third_party/usrsctp/usrsctplib/netinet/sctp_usrreq.c \
third_party/usrsctp/usrsctplib/netinet/sctputil.c \
+ third_party/usrsctp/usrsctplib/netinet6/sctp6_usrreq.c \
third_party/usrsctp/usrsctplib/user_environment.c \
third_party/usrsctp/usrsctplib/user_mbuf.c \
third_party/usrsctp/usrsctplib/user_recv_thread.c \
@@ -248,9 +250,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -265,9 +267,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-arm.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-arm.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-arm.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-mips.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-mips.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-mips.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86_64.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86_64.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86_64.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.darwin-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-arm.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-arm.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-arm.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-arm.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-mips.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-mips.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-mips.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-mips.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86_64.mk b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86_64.mk
index d3aac261fa..78ce99a304 100644
--- a/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86_64.mk
+++ b/third_party/widevine/cdm/widevine_cdm_version_h.target.linux-x86_64.mk
@@ -7,8 +7,9 @@ LOCAL_MODULE := third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_STEM := widevine_cdm_version_h
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -38,6 +39,7 @@ widevine_cdm_version_h: third_party_widevine_cdm_widevine_cdm_version_h_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -45,3 +47,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/config_sources.host.darwin-x86.mk b/third_party/yasm/config_sources.host.darwin-x86.mk
index 0a28957cc5..076a7d7450 100644
--- a/third_party/yasm/config_sources.host.darwin-x86.mk
+++ b/third_party/yasm/config_sources.host.darwin-x86.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_config_sources_host_gyp
+LOCAL_MODULE := third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := config_sources
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -147,14 +148,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_config_sources_host_gyp
+gyp_all_modules: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: config_sources
-config_sources: third_party_yasm_config_sources_host_gyp
+config_sources: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -162,3 +164,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/config_sources.host.darwin-x86_64.mk b/third_party/yasm/config_sources.host.darwin-x86_64.mk
index 99b917b779..0461d77086 100644
--- a/third_party/yasm/config_sources.host.darwin-x86_64.mk
+++ b/third_party/yasm/config_sources.host.darwin-x86_64.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_config_sources_host_gyp
+LOCAL_MODULE := third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := config_sources
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -149,14 +150,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_config_sources_host_gyp
+gyp_all_modules: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: config_sources
-config_sources: third_party_yasm_config_sources_host_gyp
+config_sources: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -164,3 +166,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/config_sources.host.linux-x86.mk b/third_party/yasm/config_sources.host.linux-x86.mk
index 0a28957cc5..076a7d7450 100644
--- a/third_party/yasm/config_sources.host.linux-x86.mk
+++ b/third_party/yasm/config_sources.host.linux-x86.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_config_sources_host_gyp
+LOCAL_MODULE := third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := config_sources
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -147,14 +148,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_config_sources_host_gyp
+gyp_all_modules: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: config_sources
-config_sources: third_party_yasm_config_sources_host_gyp
+config_sources: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -162,3 +164,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/config_sources.host.linux-x86_64.mk b/third_party/yasm/config_sources.host.linux-x86_64.mk
index 99b917b779..0461d77086 100644
--- a/third_party/yasm/config_sources.host.linux-x86_64.mk
+++ b/third_party/yasm/config_sources.host.linux-x86_64.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_config_sources_host_gyp
+LOCAL_MODULE := third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := config_sources
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -149,14 +150,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_config_sources_host_gyp
+gyp_all_modules: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: config_sources
-config_sources: third_party_yasm_config_sources_host_gyp
+config_sources: third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -164,3 +166,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/generate_files.host.darwin-x86.mk b/third_party/yasm/generate_files.host.darwin-x86.mk
index c70b2ad033..bc5f2f2f67 100644
--- a/third_party/yasm/generate_files.host.darwin-x86.mk
+++ b/third_party/yasm/generate_files.host.darwin-x86.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_generate_files_host_gyp
+LOCAL_MODULE := third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := generate_files
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -49,8 +50,6 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: export PATH := $(subst
$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86cpu.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86cpu.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -59,10 +58,7 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: export PATH := $(s
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86regtmod.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86regtmod.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/third_party/yasm/x86insns.c \
@@ -75,8 +71,7 @@ GYP_GENERATED_OUTPUTS := \
# Make sure our deps and generated files are built first.
LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS)
-LOCAL_GENERATED_SOURCES := \
- third_party_yasm_generate_files_host_gyp_rule_trigger
+LOCAL_GENERATED_SOURCES :=
GYP_COPIED_SOURCE_ORIGIN_DIRS :=
@@ -204,14 +199,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_generate_files_host_gyp
+gyp_all_modules: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: generate_files
-generate_files: third_party_yasm_generate_files_host_gyp
+generate_files: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +215,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/generate_files.host.darwin-x86_64.mk b/third_party/yasm/generate_files.host.darwin-x86_64.mk
index f1b845d248..c0814a8b6b 100644
--- a/third_party/yasm/generate_files.host.darwin-x86_64.mk
+++ b/third_party/yasm/generate_files.host.darwin-x86_64.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_generate_files_host_gyp
+LOCAL_MODULE := third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := generate_files
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -49,8 +50,6 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: export PATH := $(subst
$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86cpu.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86cpu.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -59,10 +58,7 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: export PATH := $(s
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86regtmod.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86regtmod.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/third_party/yasm/x86insns.c \
@@ -75,8 +71,7 @@ GYP_GENERATED_OUTPUTS := \
# Make sure our deps and generated files are built first.
LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS)
-LOCAL_GENERATED_SOURCES := \
- third_party_yasm_generate_files_host_gyp_rule_trigger
+LOCAL_GENERATED_SOURCES :=
GYP_COPIED_SOURCE_ORIGIN_DIRS :=
@@ -206,14 +201,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_generate_files_host_gyp
+gyp_all_modules: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: generate_files
-generate_files: third_party_yasm_generate_files_host_gyp
+generate_files: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -221,3 +217,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/generate_files.host.linux-x86.mk b/third_party/yasm/generate_files.host.linux-x86.mk
index c70b2ad033..bc5f2f2f67 100644
--- a/third_party/yasm/generate_files.host.linux-x86.mk
+++ b/third_party/yasm/generate_files.host.linux-x86.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_generate_files_host_gyp
+LOCAL_MODULE := third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := generate_files
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -49,8 +50,6 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: export PATH := $(subst
$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86cpu.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86cpu.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -59,10 +58,7 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: export PATH := $(s
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86regtmod.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86regtmod.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/third_party/yasm/x86insns.c \
@@ -75,8 +71,7 @@ GYP_GENERATED_OUTPUTS := \
# Make sure our deps and generated files are built first.
LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS)
-LOCAL_GENERATED_SOURCES := \
- third_party_yasm_generate_files_host_gyp_rule_trigger
+LOCAL_GENERATED_SOURCES :=
GYP_COPIED_SOURCE_ORIGIN_DIRS :=
@@ -204,14 +199,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_generate_files_host_gyp
+gyp_all_modules: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: generate_files
-generate_files: third_party_yasm_generate_files_host_gyp
+generate_files: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -219,3 +215,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/generate_files.host.linux-x86_64.mk b/third_party/yasm/generate_files.host.linux-x86_64.mk
index f1b845d248..c0814a8b6b 100644
--- a/third_party/yasm/generate_files.host.linux-x86_64.mk
+++ b/third_party/yasm/generate_files.host.linux-x86_64.mk
@@ -3,13 +3,14 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := GYP
-LOCAL_MODULE := third_party_yasm_generate_files_host_gyp
+LOCAL_MODULE := third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := generate_files
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -49,8 +50,6 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: export PATH := $(subst
$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86cpu.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86cpu.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86cpu.c
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -59,10 +58,7 @@ $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: export PATH := $(s
$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/arch/x86/x86regtmod.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_shared_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" source/patched-yasm/modules/arch/x86/x86regtmod.gperf "$(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c"
-.PHONY: third_party_yasm_generate_files_host_gyp_rule_trigger
-third_party_yasm_generate_files_host_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/third_party/yasm/x86regtmod.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/third_party/yasm/x86insns.c \
@@ -75,8 +71,7 @@ GYP_GENERATED_OUTPUTS := \
# Make sure our deps and generated files are built first.
LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS)
-LOCAL_GENERATED_SOURCES := \
- third_party_yasm_generate_files_host_gyp_rule_trigger
+LOCAL_GENERATED_SOURCES :=
GYP_COPIED_SOURCE_ORIGIN_DIRS :=
@@ -206,14 +201,15 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_generate_files_host_gyp
+gyp_all_modules: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: generate_files
-generate_files: third_party_yasm_generate_files_host_gyp
+generate_files: third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -221,3 +217,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/third_party/yasm/genmacro.host.darwin-x86.mk b/third_party/yasm/genmacro.host.darwin-x86.mk
index 8b55a7bf48..7dc7431e4c 100644
--- a/third_party/yasm/genmacro.host.darwin-x86.mk
+++ b/third_party/yasm/genmacro.host.darwin-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmacro_host_gyp
+LOCAL_MODULE := third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmacro
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -175,11 +176,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmacro_host_gyp
+gyp_all_modules: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmacro
-genmacro: third_party_yasm_genmacro_host_gyp
+genmacro: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmacro.host.darwin-x86_64.mk b/third_party/yasm/genmacro.host.darwin-x86_64.mk
index c721bc4aa1..6a6173efcf 100644
--- a/third_party/yasm/genmacro.host.darwin-x86_64.mk
+++ b/third_party/yasm/genmacro.host.darwin-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmacro_host_gyp
+LOCAL_MODULE := third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmacro
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -177,11 +178,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmacro_host_gyp
+gyp_all_modules: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmacro
-genmacro: third_party_yasm_genmacro_host_gyp
+genmacro: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmacro.host.linux-x86.mk b/third_party/yasm/genmacro.host.linux-x86.mk
index c67557db33..c25706a31f 100644
--- a/third_party/yasm/genmacro.host.linux-x86.mk
+++ b/third_party/yasm/genmacro.host.linux-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmacro_host_gyp
+LOCAL_MODULE := third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmacro
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -179,11 +180,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmacro_host_gyp
+gyp_all_modules: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmacro
-genmacro: third_party_yasm_genmacro_host_gyp
+genmacro: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmacro.host.linux-x86_64.mk b/third_party/yasm/genmacro.host.linux-x86_64.mk
index 22f3f74c21..81d8b58bb9 100644
--- a/third_party/yasm/genmacro.host.linux-x86_64.mk
+++ b/third_party/yasm/genmacro.host.linux-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmacro_host_gyp
+LOCAL_MODULE := third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmacro
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -181,11 +182,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmacro_host_gyp
+gyp_all_modules: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmacro
-genmacro: third_party_yasm_genmacro_host_gyp
+genmacro: third_party_yasm_genmacro_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmodule.host.darwin-x86.mk b/third_party/yasm/genmodule.host.darwin-x86.mk
index 48512b47c3..15cbc166ab 100644
--- a/third_party/yasm/genmodule.host.darwin-x86.mk
+++ b/third_party/yasm/genmodule.host.darwin-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmodule_host_gyp
+LOCAL_MODULE := third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmodule
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -175,11 +176,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmodule_host_gyp
+gyp_all_modules: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmodule
-genmodule: third_party_yasm_genmodule_host_gyp
+genmodule: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmodule.host.darwin-x86_64.mk b/third_party/yasm/genmodule.host.darwin-x86_64.mk
index 170fd1dfe3..bcc14752b1 100644
--- a/third_party/yasm/genmodule.host.darwin-x86_64.mk
+++ b/third_party/yasm/genmodule.host.darwin-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmodule_host_gyp
+LOCAL_MODULE := third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmodule
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -177,11 +178,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmodule_host_gyp
+gyp_all_modules: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmodule
-genmodule: third_party_yasm_genmodule_host_gyp
+genmodule: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmodule.host.linux-x86.mk b/third_party/yasm/genmodule.host.linux-x86.mk
index ff1e1dbf78..79f916b9a7 100644
--- a/third_party/yasm/genmodule.host.linux-x86.mk
+++ b/third_party/yasm/genmodule.host.linux-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmodule_host_gyp
+LOCAL_MODULE := third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmodule
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -179,11 +180,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmodule_host_gyp
+gyp_all_modules: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmodule
-genmodule: third_party_yasm_genmodule_host_gyp
+genmodule: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genmodule.host.linux-x86_64.mk b/third_party/yasm/genmodule.host.linux-x86_64.mk
index cd31752457..09a54eb483 100644
--- a/third_party/yasm/genmodule.host.linux-x86_64.mk
+++ b/third_party/yasm/genmodule.host.linux-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genmodule_host_gyp
+LOCAL_MODULE := third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genmodule
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -181,11 +182,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genmodule_host_gyp
+gyp_all_modules: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genmodule
-genmodule: third_party_yasm_genmodule_host_gyp
+genmodule: third_party_yasm_genmodule_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genperf.host.darwin-x86.mk b/third_party/yasm/genperf.host.darwin-x86.mk
index f4492cffea..259b1b1446 100644
--- a/third_party/yasm/genperf.host.darwin-x86.mk
+++ b/third_party/yasm/genperf.host.darwin-x86.mk
@@ -3,18 +3,19 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genperf_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genperf
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -169,7 +170,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -178,11 +179,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_host_gyp
+gyp_all_modules: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf
-genperf: third_party_yasm_genperf_host_gyp
+genperf: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genperf.host.darwin-x86_64.mk b/third_party/yasm/genperf.host.darwin-x86_64.mk
index 5b48205199..9c0c6d457d 100644
--- a/third_party/yasm/genperf.host.darwin-x86_64.mk
+++ b/third_party/yasm/genperf.host.darwin-x86_64.mk
@@ -3,18 +3,19 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genperf_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genperf
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -171,7 +172,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -180,11 +181,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_host_gyp
+gyp_all_modules: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf
-genperf: third_party_yasm_genperf_host_gyp
+genperf: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genperf.host.linux-x86.mk b/third_party/yasm/genperf.host.linux-x86.mk
index 5acbfd6c89..3d7d3a06b0 100644
--- a/third_party/yasm/genperf.host.linux-x86.mk
+++ b/third_party/yasm/genperf.host.linux-x86.mk
@@ -3,18 +3,19 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genperf_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genperf
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -173,7 +174,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -182,11 +183,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_host_gyp
+gyp_all_modules: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf
-genperf: third_party_yasm_genperf_host_gyp
+genperf: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genperf.host.linux-x86_64.mk b/third_party/yasm/genperf.host.linux-x86_64.mk
index 0e2d11adaf..931e5580a8 100644
--- a/third_party/yasm/genperf.host.linux-x86_64.mk
+++ b/third_party/yasm/genperf.host.linux-x86_64.mk
@@ -3,18 +3,19 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genperf_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genperf
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -175,7 +176,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -184,11 +185,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_host_gyp
+gyp_all_modules: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf
-genperf: third_party_yasm_genperf_host_gyp
+genperf: third_party_yasm_genperf_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genperf_libs.host.darwin-x86.mk b/third_party/yasm/genperf_libs.host.darwin-x86.mk
index c35f1106b0..b623f1170f 100644
--- a/third_party/yasm/genperf_libs.host.darwin-x86.mk
+++ b/third_party/yasm/genperf_libs.host.darwin-x86.mk
@@ -3,16 +3,17 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_yasm_genperf_libs_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -182,10 +183,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_libs_host_gyp
+gyp_all_modules: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf_libs
-genperf_libs: third_party_yasm_genperf_libs_host_gyp
+genperf_libs: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/yasm/genperf_libs.host.darwin-x86_64.mk b/third_party/yasm/genperf_libs.host.darwin-x86_64.mk
index f8531064dc..08ba320fb9 100644
--- a/third_party/yasm/genperf_libs.host.darwin-x86_64.mk
+++ b/third_party/yasm/genperf_libs.host.darwin-x86_64.mk
@@ -3,16 +3,17 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_yasm_genperf_libs_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -184,10 +185,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_libs_host_gyp
+gyp_all_modules: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf_libs
-genperf_libs: third_party_yasm_genperf_libs_host_gyp
+genperf_libs: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/yasm/genperf_libs.host.linux-x86.mk b/third_party/yasm/genperf_libs.host.linux-x86.mk
index 82dc51a0b5..8b9194f9eb 100644
--- a/third_party/yasm/genperf_libs.host.linux-x86.mk
+++ b/third_party/yasm/genperf_libs.host.linux-x86.mk
@@ -3,16 +3,17 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_yasm_genperf_libs_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -186,10 +187,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_libs_host_gyp
+gyp_all_modules: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf_libs
-genperf_libs: third_party_yasm_genperf_libs_host_gyp
+genperf_libs: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/yasm/genperf_libs.host.linux-x86_64.mk b/third_party/yasm/genperf_libs.host.linux-x86_64.mk
index cc701d79f5..774cdc99e0 100644
--- a/third_party/yasm/genperf_libs.host.linux-x86_64.mk
+++ b/third_party/yasm/genperf_libs.host.linux-x86_64.mk
@@ -3,16 +3,17 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_MODULE := third_party_yasm_genperf_libs_host_gyp
+LOCAL_MODULE := third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -188,10 +189,10 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genperf_libs_host_gyp
+gyp_all_modules: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genperf_libs
-genperf_libs: third_party_yasm_genperf_libs_host_gyp
+genperf_libs: third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/third_party/yasm/genstring.host.darwin-x86.mk b/third_party/yasm/genstring.host.darwin-x86.mk
index 2caa5b6d21..c8dfc37639 100644
--- a/third_party/yasm/genstring.host.darwin-x86.mk
+++ b/third_party/yasm/genstring.host.darwin-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genstring_host_gyp
+LOCAL_MODULE := third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genstring
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -175,11 +176,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genstring_host_gyp
+gyp_all_modules: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genstring
-genstring: third_party_yasm_genstring_host_gyp
+genstring: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genstring.host.darwin-x86_64.mk b/third_party/yasm/genstring.host.darwin-x86_64.mk
index 05ea3a40d6..624a704774 100644
--- a/third_party/yasm/genstring.host.darwin-x86_64.mk
+++ b/third_party/yasm/genstring.host.darwin-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genstring_host_gyp
+LOCAL_MODULE := third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genstring
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -177,11 +178,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genstring_host_gyp
+gyp_all_modules: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genstring
-genstring: third_party_yasm_genstring_host_gyp
+genstring: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genstring.host.linux-x86.mk b/third_party/yasm/genstring.host.linux-x86.mk
index 6209071d39..b3b5c6ad49 100644
--- a/third_party/yasm/genstring.host.linux-x86.mk
+++ b/third_party/yasm/genstring.host.linux-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genstring_host_gyp
+LOCAL_MODULE := third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genstring
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -179,11 +180,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genstring_host_gyp
+gyp_all_modules: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genstring
-genstring: third_party_yasm_genstring_host_gyp
+genstring: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genstring.host.linux-x86_64.mk b/third_party/yasm/genstring.host.linux-x86_64.mk
index 5e187625c7..b5b25af9dd 100644
--- a/third_party/yasm/genstring.host.linux-x86_64.mk
+++ b/third_party/yasm/genstring.host.linux-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genstring_host_gyp
+LOCAL_MODULE := third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genstring
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -181,11 +182,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genstring_host_gyp
+gyp_all_modules: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genstring
-genstring: third_party_yasm_genstring_host_gyp
+genstring: third_party_yasm_genstring_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genversion.host.darwin-x86.mk b/third_party/yasm/genversion.host.darwin-x86.mk
index 8ea4c9dda9..41b698219d 100644
--- a/third_party/yasm/genversion.host.darwin-x86.mk
+++ b/third_party/yasm/genversion.host.darwin-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genversion_host_gyp
+LOCAL_MODULE := third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genversion
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -175,11 +176,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genversion_host_gyp
+gyp_all_modules: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genversion
-genversion: third_party_yasm_genversion_host_gyp
+genversion: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genversion.host.darwin-x86_64.mk b/third_party/yasm/genversion.host.darwin-x86_64.mk
index 3c3a861afc..933a16d018 100644
--- a/third_party/yasm/genversion.host.darwin-x86_64.mk
+++ b/third_party/yasm/genversion.host.darwin-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genversion_host_gyp
+LOCAL_MODULE := third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genversion
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -177,11 +178,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genversion_host_gyp
+gyp_all_modules: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genversion
-genversion: third_party_yasm_genversion_host_gyp
+genversion: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genversion.host.linux-x86.mk b/third_party/yasm/genversion.host.linux-x86.mk
index fe6a671de8..cd272ccf3b 100644
--- a/third_party/yasm/genversion.host.linux-x86.mk
+++ b/third_party/yasm/genversion.host.linux-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genversion_host_gyp
+LOCAL_MODULE := third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genversion
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -179,11 +180,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genversion_host_gyp
+gyp_all_modules: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genversion
-genversion: third_party_yasm_genversion_host_gyp
+genversion: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/genversion.host.linux-x86_64.mk b/third_party/yasm/genversion.host.linux-x86_64.mk
index d9aea48c21..e3101c5dbe 100644
--- a/third_party/yasm/genversion.host.linux-x86_64.mk
+++ b/third_party/yasm/genversion.host.linux-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_genversion_host_gyp
+LOCAL_MODULE := third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := genversion
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -181,11 +182,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_genversion_host_gyp
+gyp_all_modules: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: genversion
-genversion: third_party_yasm_genversion_host_gyp
+genversion: third_party_yasm_genversion_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/re2c.host.darwin-x86.mk b/third_party/yasm/re2c.host.darwin-x86.mk
index 9856c33786..4085abe45c 100644
--- a/third_party/yasm/re2c.host.darwin-x86.mk
+++ b/third_party/yasm/re2c.host.darwin-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_re2c_host_gyp
+LOCAL_MODULE := third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := re2c
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -183,11 +184,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_re2c_host_gyp
+gyp_all_modules: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: re2c
-re2c: third_party_yasm_re2c_host_gyp
+re2c: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/re2c.host.darwin-x86_64.mk b/third_party/yasm/re2c.host.darwin-x86_64.mk
index c98ea972c0..8a5139fe61 100644
--- a/third_party/yasm/re2c.host.darwin-x86_64.mk
+++ b/third_party/yasm/re2c.host.darwin-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_re2c_host_gyp
+LOCAL_MODULE := third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := re2c
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -185,11 +186,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_re2c_host_gyp
+gyp_all_modules: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: re2c
-re2c: third_party_yasm_re2c_host_gyp
+re2c: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/re2c.host.linux-x86.mk b/third_party/yasm/re2c.host.linux-x86.mk
index 8229a1df35..c64ad4d705 100644
--- a/third_party/yasm/re2c.host.linux-x86.mk
+++ b/third_party/yasm/re2c.host.linux-x86.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_re2c_host_gyp
+LOCAL_MODULE := third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := re2c
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -187,11 +188,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_re2c_host_gyp
+gyp_all_modules: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: re2c
-re2c: third_party_yasm_re2c_host_gyp
+re2c: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/re2c.host.linux-x86_64.mk b/third_party/yasm/re2c.host.linux-x86_64.mk
index d7e7cfa4ca..d9d7066813 100644
--- a/third_party/yasm/re2c.host.linux-x86_64.mk
+++ b/third_party/yasm/re2c.host.linux-x86_64.mk
@@ -3,17 +3,18 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_re2c_host_gyp
+LOCAL_MODULE := third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := re2c
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp
GYP_GENERATED_OUTPUTS :=
@@ -189,11 +190,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_re2c_host_gyp
+gyp_all_modules: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: re2c
-re2c: third_party_yasm_re2c_host_gyp
+re2c: third_party_yasm_re2c_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/yasm.host.darwin-x86.mk b/third_party/yasm/yasm.host.darwin-x86.mk
index cfea2b0885..1a69bd9c0d 100644
--- a/third_party/yasm/yasm.host.darwin-x86.mk
+++ b/third_party/yasm/yasm.host.darwin-x86.mk
@@ -3,22 +3,23 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_yasm_host_gyp
+LOCAL_MODULE := third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := yasm
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp \
$(gyp_shared_intermediate_dir)/genmacro \
$(gyp_shared_intermediate_dir)/genmodule \
$(gyp_shared_intermediate_dir)/genperf \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_host_gyp,true)/generate_files.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/generate_files.stamp \
$(gyp_shared_intermediate_dir)/genstring \
$(gyp_shared_intermediate_dir)/re2c
@@ -103,8 +104,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: export PATH := $(subst
$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -113,8 +112,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: export PATH := $(subst $
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c
### Generated for rule "third_party_yasm_yasm_gyp_yasm_host_generate_re2c":
@@ -126,8 +123,6 @@ $(gyp_intermediate_dir)/third_party/yasm/gas-token.c: export PATH := $(subst $(A
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/gas/gas-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/gas-token.c" source/patched-yasm/modules/parsers/gas/gas-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/gas-token.c
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -136,10 +131,7 @@ $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: export PATH := $(subst $(
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/nasm/nasm-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c" source/patched-yasm/modules/parsers/nasm/nasm-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_intermediate_dir)/third_party/yasm/nasm-macros.c \
@@ -168,8 +160,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c \
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c \
$(gyp_intermediate_dir)/x86cpu.c \
- $(gyp_intermediate_dir)/x86regtmod.c \
- third_party_yasm_yasm_host_gyp_rule_trigger
+ $(gyp_intermediate_dir)/x86regtmod.c
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/third_party/yasm
@@ -391,7 +382,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -400,11 +391,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_yasm_host_gyp
+gyp_all_modules: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: yasm
-yasm: third_party_yasm_yasm_host_gyp
+yasm: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/yasm.host.darwin-x86_64.mk b/third_party/yasm/yasm.host.darwin-x86_64.mk
index 1b0bf171e0..07d553fb0e 100644
--- a/third_party/yasm/yasm.host.darwin-x86_64.mk
+++ b/third_party/yasm/yasm.host.darwin-x86_64.mk
@@ -3,22 +3,23 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_yasm_host_gyp
+LOCAL_MODULE := third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := yasm
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp \
$(gyp_shared_intermediate_dir)/genmacro \
$(gyp_shared_intermediate_dir)/genmodule \
$(gyp_shared_intermediate_dir)/genperf \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_host_gyp,true)/generate_files.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/generate_files.stamp \
$(gyp_shared_intermediate_dir)/genstring \
$(gyp_shared_intermediate_dir)/re2c
@@ -103,8 +104,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: export PATH := $(subst
$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -113,8 +112,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: export PATH := $(subst $
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c
### Generated for rule "third_party_yasm_yasm_gyp_yasm_host_generate_re2c":
@@ -126,8 +123,6 @@ $(gyp_intermediate_dir)/third_party/yasm/gas-token.c: export PATH := $(subst $(A
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/gas/gas-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/gas-token.c" source/patched-yasm/modules/parsers/gas/gas-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/gas-token.c
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -136,10 +131,7 @@ $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: export PATH := $(subst $(
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/nasm/nasm-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c" source/patched-yasm/modules/parsers/nasm/nasm-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_intermediate_dir)/third_party/yasm/nasm-macros.c \
@@ -168,8 +160,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c \
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c \
$(gyp_intermediate_dir)/x86cpu.c \
- $(gyp_intermediate_dir)/x86regtmod.c \
- third_party_yasm_yasm_host_gyp_rule_trigger
+ $(gyp_intermediate_dir)/x86regtmod.c
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/third_party/yasm
@@ -393,7 +384,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -402,11 +393,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_yasm_host_gyp
+gyp_all_modules: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: yasm
-yasm: third_party_yasm_yasm_host_gyp
+yasm: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/yasm.host.linux-x86.mk b/third_party/yasm/yasm.host.linux-x86.mk
index d566a48c3d..a20d701772 100644
--- a/third_party/yasm/yasm.host.linux-x86.mk
+++ b/third_party/yasm/yasm.host.linux-x86.mk
@@ -3,22 +3,23 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_yasm_host_gyp
+LOCAL_MODULE := third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := yasm
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp \
$(gyp_shared_intermediate_dir)/genmacro \
$(gyp_shared_intermediate_dir)/genmodule \
$(gyp_shared_intermediate_dir)/genperf \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_host_gyp,true)/generate_files.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/generate_files.stamp \
$(gyp_shared_intermediate_dir)/genstring \
$(gyp_shared_intermediate_dir)/re2c
@@ -103,8 +104,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: export PATH := $(subst
$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -113,8 +112,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: export PATH := $(subst $
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c
### Generated for rule "third_party_yasm_yasm_gyp_yasm_host_generate_re2c":
@@ -126,8 +123,6 @@ $(gyp_intermediate_dir)/third_party/yasm/gas-token.c: export PATH := $(subst $(A
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/gas/gas-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/gas-token.c" source/patched-yasm/modules/parsers/gas/gas-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/gas-token.c
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -136,10 +131,7 @@ $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: export PATH := $(subst $(
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/nasm/nasm-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c" source/patched-yasm/modules/parsers/nasm/nasm-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_intermediate_dir)/third_party/yasm/nasm-macros.c \
@@ -168,8 +160,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c \
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c \
$(gyp_intermediate_dir)/x86cpu.c \
- $(gyp_intermediate_dir)/x86regtmod.c \
- third_party_yasm_yasm_host_gyp_rule_trigger
+ $(gyp_intermediate_dir)/x86regtmod.c
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/third_party/yasm
@@ -395,7 +386,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -404,11 +395,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_yasm_host_gyp
+gyp_all_modules: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: yasm
-yasm: third_party_yasm_yasm_host_gyp
+yasm: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/yasm/yasm.host.linux-x86_64.mk b/third_party/yasm/yasm.host.linux-x86_64.mk
index 1fbc8d0c30..3f1459f642 100644
--- a/third_party/yasm/yasm.host.linux-x86_64.mk
+++ b/third_party/yasm/yasm.host.linux-x86_64.mk
@@ -3,22 +3,23 @@
include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE := third_party_yasm_yasm_host_gyp
+LOCAL_MODULE := third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_STEM := yasm
LOCAL_MODULE_SUFFIX :=
LOCAL_MODULE_TAGS := optional
LOCAL_IS_HOST_MODULE := true
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_host_gyp,true)/config_sources.stamp \
+ $(call intermediates-dir-for,GYP,third_party_yasm_config_sources_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/config_sources.stamp \
$(gyp_shared_intermediate_dir)/genmacro \
$(gyp_shared_intermediate_dir)/genmodule \
$(gyp_shared_intermediate_dir)/genperf \
- $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_host_gyp,true)/third_party_yasm_genperf_libs_host_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_host_gyp,true)/generate_files.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_yasm_generate_files_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp,true)/generate_files.stamp \
$(gyp_shared_intermediate_dir)/genstring \
$(gyp_shared_intermediate_dir)/re2c
@@ -103,8 +104,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: export PATH := $(subst
$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_nasm.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_nasm.c
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -113,8 +112,6 @@ $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: export PATH := $(subst $
$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c: $(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf $(gyp_shared_intermediate_dir)/genperf $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/genperf" "$(gyp_shared_intermediate_dir)/third_party/yasm/x86insn_gas.gperf" "$(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c"
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/x86insn_gas.c
### Generated for rule "third_party_yasm_yasm_gyp_yasm_host_generate_re2c":
@@ -126,8 +123,6 @@ $(gyp_intermediate_dir)/third_party/yasm/gas-token.c: export PATH := $(subst $(A
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/gas/gas-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/gas-token.c" source/patched-yasm/modules/parsers/gas/gas-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/gas-token.c
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_local_path := $(LOCAL_PATH)
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: gyp_intermediate_dir := $(abspath $(gyp_intermediate_dir))
@@ -136,10 +131,7 @@ $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: export PATH := $(subst $(
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c: $(LOCAL_PATH)/third_party/yasm/source/patched-yasm/modules/parsers/nasm/nasm-token.re $(gyp_shared_intermediate_dir)/re2c $(GYP_TARGET_DEPENDENCIES)
mkdir -p $(gyp_intermediate_dir)/third_party/yasm; cd $(gyp_local_path)/third_party/yasm; "$(gyp_shared_intermediate_dir)/re2c" -b -o "$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c" source/patched-yasm/modules/parsers/nasm/nasm-token.re
-.PHONY: third_party_yasm_yasm_host_gyp_rule_trigger
-third_party_yasm_yasm_host_gyp_rule_trigger: $(gyp_intermediate_dir)/third_party/yasm/nasm-token.c
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_intermediate_dir)/third_party/yasm/nasm-macros.c \
@@ -168,8 +160,7 @@ LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/third_party/yasm/gas-token.c \
$(gyp_intermediate_dir)/third_party/yasm/nasm-token.c \
$(gyp_intermediate_dir)/x86cpu.c \
- $(gyp_intermediate_dir)/x86regtmod.c \
- third_party_yasm_yasm_host_gyp_rule_trigger
+ $(gyp_intermediate_dir)/x86regtmod.c
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/third_party/yasm
@@ -397,7 +388,7 @@ LOCAL_LDFLAGS_Release := \
LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION))
LOCAL_STATIC_LIBRARIES := \
- third_party_yasm_genperf_libs_host_gyp
+ third_party_yasm_genperf_libs_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Enable grouping to fix circular references
LOCAL_GROUP_STATIC_LIBRARIES := true
@@ -406,11 +397,11 @@ LOCAL_SHARED_LIBRARIES :=
# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
-gyp_all_modules: third_party_yasm_yasm_host_gyp
+gyp_all_modules: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
# Alias gyp target name.
.PHONY: yasm
-yasm: third_party_yasm_yasm_host_gyp
+yasm: third_party_yasm_yasm_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp
LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)
include $(BUILD_HOST_EXECUTABLE)
diff --git a/third_party/zlib/google/zip.target.darwin-arm.mk b/third_party/zlib/google/zip.target.darwin-arm.mk
index 4a9404adf6..a7b9714a57 100644
--- a/third_party/zlib/google/zip.target.darwin-arm.mk
+++ b/third_party/zlib/google/zip.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/zlib/google/zip.target.darwin-mips.mk b/third_party/zlib/google/zip.target.darwin-mips.mk
index db87dac4d2..25751e5061 100644
--- a/third_party/zlib/google/zip.target.darwin-mips.mk
+++ b/third_party/zlib/google/zip.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/zlib/google/zip.target.darwin-x86.mk b/third_party/zlib/google/zip.target.darwin-x86.mk
index 2c7d70b2e9..4c9c79fe75 100644
--- a/third_party/zlib/google/zip.target.darwin-x86.mk
+++ b/third_party/zlib/google/zip.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/zlib/google/zip.target.darwin-x86_64.mk b/third_party/zlib/google/zip.target.darwin-x86_64.mk
index 331cb4e80b..d94754dd80 100644
--- a/third_party/zlib/google/zip.target.darwin-x86_64.mk
+++ b/third_party/zlib/google/zip.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/zlib/google/zip.target.linux-arm.mk b/third_party/zlib/google/zip.target.linux-arm.mk
index 4a9404adf6..a7b9714a57 100644
--- a/third_party/zlib/google/zip.target.linux-arm.mk
+++ b/third_party/zlib/google/zip.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/zlib/google/zip.target.linux-mips.mk b/third_party/zlib/google/zip.target.linux-mips.mk
index db87dac4d2..25751e5061 100644
--- a/third_party/zlib/google/zip.target.linux-mips.mk
+++ b/third_party/zlib/google/zip.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/zlib/google/zip.target.linux-x86.mk b/third_party/zlib/google/zip.target.linux-x86.mk
index 2c7d70b2e9..4c9c79fe75 100644
--- a/third_party/zlib/google/zip.target.linux-x86.mk
+++ b/third_party/zlib/google/zip.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/zlib/google/zip.target.linux-x86_64.mk b/third_party/zlib/google/zip.target.linux-x86_64.mk
index 331cb4e80b..d94754dd80 100644
--- a/third_party/zlib/google/zip.target.linux-x86_64.mk
+++ b/third_party/zlib/google/zip.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_google_zip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/zlib/minizip.target.darwin-arm.mk b/third_party/zlib/minizip.target.darwin-arm.mk
index 5a001f56bd..051a9dfece 100644
--- a/third_party/zlib/minizip.target.darwin-arm.mk
+++ b/third_party/zlib/minizip.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/zlib/minizip.target.darwin-mips.mk b/third_party/zlib/minizip.target.darwin-mips.mk
index e94b39fedb..54c8a14ce9 100644
--- a/third_party/zlib/minizip.target.darwin-mips.mk
+++ b/third_party/zlib/minizip.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/zlib/minizip.target.darwin-x86.mk b/third_party/zlib/minizip.target.darwin-x86.mk
index 8dd95c858a..50a77d26d6 100644
--- a/third_party/zlib/minizip.target.darwin-x86.mk
+++ b/third_party/zlib/minizip.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/zlib/minizip.target.darwin-x86_64.mk b/third_party/zlib/minizip.target.darwin-x86_64.mk
index 4dae3fc2a9..35bc7f7ed6 100644
--- a/third_party/zlib/minizip.target.darwin-x86_64.mk
+++ b/third_party/zlib/minizip.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/zlib/minizip.target.linux-arm.mk b/third_party/zlib/minizip.target.linux-arm.mk
index 5a001f56bd..051a9dfece 100644
--- a/third_party/zlib/minizip.target.linux-arm.mk
+++ b/third_party/zlib/minizip.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -231,9 +232,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/zlib/minizip.target.linux-mips.mk b/third_party/zlib/minizip.target.linux-mips.mk
index e94b39fedb..54c8a14ce9 100644
--- a/third_party/zlib/minizip.target.linux-mips.mk
+++ b/third_party/zlib/minizip.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/zlib/minizip.target.linux-x86.mk b/third_party/zlib/minizip.target.linux-x86.mk
index 8dd95c858a..50a77d26d6 100644
--- a/third_party/zlib/minizip.target.linux-x86.mk
+++ b/third_party/zlib/minizip.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/zlib/minizip.target.linux-x86_64.mk b/third_party/zlib/minizip.target.linux-x86_64.mk
index 4dae3fc2a9..35bc7f7ed6 100644
--- a/third_party/zlib/minizip.target.linux-x86_64.mk
+++ b/third_party/zlib/minizip.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_minizip_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -212,9 +213,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/zlib/zlib.target.darwin-arm.mk b/third_party/zlib/zlib.target.darwin-arm.mk
index 08de55517d..1412b18d04 100644
--- a/third_party/zlib/zlib.target.darwin-arm.mk
+++ b/third_party/zlib/zlib.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/zlib/zlib.target.darwin-mips.mk b/third_party/zlib/zlib.target.darwin-mips.mk
index 6f7695b7e3..1b9e5f39b5 100644
--- a/third_party/zlib/zlib.target.darwin-mips.mk
+++ b/third_party/zlib/zlib.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/zlib/zlib.target.darwin-x86.mk b/third_party/zlib/zlib.target.darwin-x86.mk
index 77a80be589..bb0322936d 100644
--- a/third_party/zlib/zlib.target.darwin-x86.mk
+++ b/third_party/zlib/zlib.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/zlib/zlib.target.darwin-x86_64.mk b/third_party/zlib/zlib.target.darwin-x86_64.mk
index 9c3f3ef0bc..39f1672717 100644
--- a/third_party/zlib/zlib.target.darwin-x86_64.mk
+++ b/third_party/zlib/zlib.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/third_party/zlib/zlib.target.linux-arm.mk b/third_party/zlib/zlib.target.linux-arm.mk
index 08de55517d..1412b18d04 100644
--- a/third_party/zlib/zlib.target.linux-arm.mk
+++ b/third_party/zlib/zlib.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -239,9 +240,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/third_party/zlib/zlib.target.linux-mips.mk b/third_party/zlib/zlib.target.linux-mips.mk
index 6f7695b7e3..1b9e5f39b5 100644
--- a/third_party/zlib/zlib.target.linux-mips.mk
+++ b/third_party/zlib/zlib.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/third_party/zlib/zlib.target.linux-x86.mk b/third_party/zlib/zlib.target.linux-x86.mk
index 77a80be589..bb0322936d 100644
--- a/third_party/zlib/zlib.target.linux-x86.mk
+++ b/third_party/zlib/zlib.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/third_party/zlib/zlib.target.linux-x86_64.mk b/third_party/zlib/zlib.target.linux-x86_64.mk
index 9c3f3ef0bc..39f1672717 100644
--- a/third_party/zlib/zlib.target.linux-x86_64.mk
+++ b/third_party/zlib/zlib.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_zlib_zlib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -220,9 +221,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \